C++错误集锦

1、Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
expression
很诡异的出现了这个问题。最要命的是使用VS F5调试和Crtl + F5直接运行,确不出现这个错误。只有在生成好的目标路径下双击exe时,才出现这个错误。
一时不知道如何解决。因为无法调试[……]

Read more

VS2015编译kafka

步骤:
1、安装“NuGet”, 下载NuGet.Tools.vsix,安装即可。
2、下载 Win32OpenSSL-1_1_0,安装即可。
因为最开始不是下载Win32OpenSSL-1_1_0直接进行的安装,是编译的openssl,导致走了不少弯路。现将弯路历程记录如下:

由于编译[……]

Read more

windows下使用net-snmp实现agent扩展(三)

时间隔得太长了,我都快忘了什么是snmp了,知识啊知识,很容易在不用的时候忘却,也可能是自己脑袋不好使了吧?翻了翻代码,赶紧总结下,不然真不会了……

在上篇博客中,实现了get/set一个字符串型变量,现在来实现对多个字符串变量的get/set。假设要实现获取CPU利用率、内存占用率和磁盘占用[……]

Read more

windows下使用net-snmp实现agent扩展(一)

项目上需要用snmp来做告警监控管理,达到对系统的运行状态的监测。这几天研究了一下,发现网上资料比较少,大多数抄来抄去,能够正确运行的更少。所以,总结了一下,把相关的代码放上来,希望能够帮助同样遇到困惑的朋友。 havenzhao http://vcsky.net

项目名称为DCS系统,采用V[……]

Read more

I/O非阻塞方法

在接收数据时,默认的read/write函数、recv/send函数采用的是阻塞方式,即如果没有数据可操作,则函数调用将阻塞,导致对应进程暂停执行,有数据时才继续执行并返回。这显然耗时耗力。有时我们需要进程立即返回,这就需要设置为非阻塞方式了。
设置接收数据的非阻塞方式有多种方法,主要为:
1)[……]

Read more

C++命名规范

为了规整项目代码的统一性,我参考网上的一些资料,为项目组成员定义了一份C++命名规范的初稿,只包含常用的一些东西,在此献丑。

1.类
类的名称都要以大写字母“C”开头,后跟一个或多个单词。为便于界定,每个单词的首字母要大写。
类的命名推荐用”名词”或”形容词+名词”的形式,例如:[……]

Read more

Linux守候进程

在一个远程监控系统中,我们使用了守候进程。结合《Linux高级程序设计》的相关内容,对守候进程做个整理。

守候进程,又称守护进程(Daemon),是在后台运行的一种特殊的进程,脱离于终端。类似于Windows服务程序。守候进程适用于像我们项目中的数据采集类的程序,因为客户的误操作等原因,造成服[……]

Read more