自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhc的博客

快乐踏实的学习

  • 博客(14)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

转载 windows静态库动态库的原理以及是否需要.h文件

静态库的调用方法第一种:项目设置中引用,在项目的属性中设置。 第二种:在代码中使用 #pragma comment(lib,"lib文件名")第一种方法: 步骤一: 右键单击项目—>属性—>配置属性—>链接器—>常规—>附加库目录 在其中填入lib库的目录,也可以是相对或绝对路径。 步骤二: 右键单击项目—>属性—>配置属性—>链接器—>输入—>附加依赖项

2016-11-29 08:58:57 2114

原创 vs2013中 项目->生成/重新生成以及仅用于项目的区别,以及项目依赖项的设置

VS中生成在上次编译的基础上,只对改动过的文件重新生成,没有改动过的文件不会重新生成。VS中重新生成对所有的文件都重新生成。如果引用了其它类库的DLL,也会重新生成其它的类库,这样速度要慢些,但可靠度高一些。 仅用于项目在正常的情况下,他和  项目->生成/重新生成   没有什么区别,只有在这个项目有项目依赖项的时候是不同的。如上图所示,下面的项目test2,要

2016-11-29 08:52:22 5669

转载 vs2013中项目依赖项的作用

依赖项就是设定项目所依赖的项目,以决定具体生成解决方案时项目编译的顺序(一般一个解决方案会有很多项目组成)。通常来说,依赖项取决于这个项目引用的组件和项目,系统可以自己决定。那样的作用,就是让系统知道你的项目a依赖于项目b,也就是说项目b会在a之前编译(因为依赖的关系,所以系统觉得应该先有b,这样才能有a)总之一句话,用来控制编译顺序的,无需多计较。

2016-11-28 14:40:05 2875

转载 delete 和 delete[]的区别

c++中对new申请的内存的释放方式有delete和delete[两种方式,到底这两者有什么区别呢?1.我们通常从教科书上看到这样的说明:delete 释放new分配的单个对象指针指向的内存delete[] 释放new分配的对象数组指针指向的内存那么,按照教科书的理解,我们看下下面的代码:int *a = new int[10];delete a;        //方

2016-11-26 17:13:22 362

转载 为什么构造函数不能虚而析构函数可以虚,以及在什么情况下来使用析构函数

析构函数的用法:1.每个析构函数(不加 virtual) 只负责清除自己的成员。2.可能有基类指针,指向的确是派生类成员的情况。对于第二种情况:正确执行:基类指针可以指向派生类的对象(多态性),如果删除该指针delete []p;就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。如果析构函数不被声明成虚函数,则编译器实施

2016-11-26 16:56:44 942

转载 linux 线程同步

线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthread_mutex_t mutex =

2016-11-22 17:11:25 341

转载 进程间通信----使用消息队列

面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道一、什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。  每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息

2016-11-20 17:07:16 5148

转载 进程间通信-----共享内存

下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一

2016-11-20 16:57:34 385

转载 linux进程间通信------使用信号量

这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码

2016-11-20 15:10:21 427

转载 linux进程间通信----之使用匿名管道

在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。一、什么是管道如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另

2016-11-19 15:42:40 640

转载 Linux间进程通信-----之使用命名管道

原文地址:http://blog.csdn.net/ljianhui/article/details/10202699本人转载,感谢原文作者在前一篇文章——Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介

2016-11-19 15:35:34 385

转载 c++中c_str()用法

语法: const char *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这

2016-11-14 14:05:30 1684

原创 c++中 new的使用 以及new 和 new(std::nothrow)

源码方面的信息就不详细讲述了,找找代码看看便知,简要说明下:new(std::nothrow) 顾名思义,即不抛出异常,当new一个对象失败时,默认设置该对象为NULL,这样可以方便的通过if(p == NULL) 来判断new操作是否成功普通的new操作,如果分配内存失败则会抛出异常,虽然后面一般也会写上if(p == NULL) 但是实际上是自欺欺人,因为如果分配成功,p肯定不为NUL

2016-11-10 10:02:51 2362

原创 TCP/IP三次握手于四次挥手

TCP报文格式(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:

2016-11-07 17:15:05 344

LocationNavigate.dll

由于notepad++在看代码的时候搜素完函数之后,不能后退到之前看的代码,很不方便,所以上传这个插件,这个插件放到 notepad++安装目录里的 plugins文件夹下,比如我的电脑 C:\Program Files (x86)\Notepad++\plugins

2019-09-24

单片机和上位机互发浮点数

原来一直感觉单片机传送浮点数比较费劲,最近好好弄弄,其实没有那么复杂,不用了解浮点数是怎么存储的,知道占用4个字节就可以了!

2016-04-19

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除