
分享
杨嚣
这个作者很懒,什么都没留下…
展开
-
C++标准转换运算符reinterpret_cast
reinterpret_cast (expression)reinterpret_cast运算符是用来处理无关类型之间的转换;它会产生一个新的值,这个值会有与原始参数(expressoin)有完全相同的比特位。什么是无关类型?我没有弄清楚,没有找到好的文档来说明类型之间到底都有些什么关系(除了类的继承以外)。后半句倒是看出了reinterpret_cast的字面意思:重新解释转载 2015-11-03 16:44:18 · 315 阅读 · 0 评论 -
strlen和sizeof有什么区别?
我们能常在用到 sizeof 和 strlen 的时候,通常是计算字符串数组的长度看了上面的详细解释,发现两者的使用还是有区别的,从这个例子可以看得很清楚:char str[20]="0123456789";int a=strlen(str); //a=10; >>>> strlen 计算字符串的长度,以结束符 0x00 为字符串结束。int b=sizeof(str); //而b=20原创 2015-11-29 16:11:35 · 341 阅读 · 0 评论 -
C++ htons(), htonl(), ntohs(), ntohl()详解
将多字节整数类型的数据,从主机的字节顺序转化为网络字节顺序#include uint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);uint32_t ntohl(uint32_t netlong);uint16_t ntohs(uint16_t netshort);转载 2015-11-26 21:46:17 · 2098 阅读 · 0 评论 -
为什么mfc的入口是InitInstance()而没有WinMain()
为什么mfc的入口是InitInstance()而没有WinMain()学过PE文件格式,就明白,程序在进入WinMain之前要做很多事情,比如初始Dos头,分配函数表,初始化全局变量,之后才进入程序入口(WinMain)MFC对WindowsAPI进行了封装。在用向导编译成的二进时代码,MFC编译器链接器把源文件编译成PE文件格式存储在磁盘上。程序执行的时转载 2015-12-12 18:54:31 · 2152 阅读 · 0 评论 -
socket心跳机制so_keepalive的三个参数详解
socket心跳机制so_keepalive的三个参数详解 SO_KEEPALIVE 保持连接检测对方主机是否崩溃,避免(服务器)永远阻塞于TCP连接的输入。设置该选项后,如果2小时内在此套接口的任一方向都没有数据交换,TCP就自动给对方 发一个保持存活探测分节(keepalive probe)。这是一个对方必须响应的TCP分节.它会导致以下三种情况:1、对方接收一转载 2015-11-02 16:34:07 · 1812 阅读 · 0 评论 -
用Pdh库获得CPU利用率
花了三天时间搞清楚了Pdh库中几个函数的具体用法,MSDN上只有解释,没有示例;网上查资料,也没能帮我解决问题,可能由于硬件和操作系统不同,网上提供的代码在我机器上不能运行,具体是哪的错误网上没有查到相关资料。无计可施的时候,一次无聊的尝试,成功了,然后顿悟。现整理如下:可以用Pdh(performance data helper)库提供的一些函数来获取系统当前的一些性能数据(也可以读取日转载 2015-11-03 10:21:55 · 931 阅读 · 0 评论 -
SetHandleInformation设置内核对象标志
SetHandleInformation设置内核对象标志当父进程创建子进程时,子进程将继承父进程的内核对象。这时如果要控制子进程使用父进程的内核对象。可以使用SetHandleInformation设置。BOOL SetHandleInformation(HANDLE hObject, DWORD dwMask, DWORD dwFlags);改变句柄的标志,目前可改变的标志有两种#def转载 2015-10-26 10:50:40 · 1212 阅读 · 0 评论 -
#if, #elif, #else, #endif 使用
有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。(一)条件编译方法 条件编译是通过预编译指令来实现的,主要方法有:1、#if, #转载 2015-10-23 11:22:45 · 287 阅读 · 0 评论 -
SIGPIPE信号
使用libevent编写websocket服务端时遇到了一个问题:浏览器与服务端建立连接后,若刷新或关闭浏览器窗口(未监听相应事件并处理),服务端无法得知连接断开,按理说,这种情况属于client异常终止,跟拔网线的情况类似。这种情况下,服务端不知情,仍保留此连接,仍按照既定逻辑向client写数据,写了两次后,服务端程序终止(多次测试,均是第2次后终止),不是崩溃,是异常终止,非常不解。转载 2015-10-22 15:36:48 · 438 阅读 · 0 评论 -
用Pdh库获得CPU利用率
花了三天时间搞清楚了Pdh库中几个函数的具体用法,MSDN上只有解释,没有示例;网上查资料,也没能帮我解决问题,可能由于硬件和操作系统不同,网上提供的代码在我机器上不能运行,具体是哪的错误网上没有查到相关资料。无计可施的时候,一次无聊的尝试,成功了,然后顿悟。现整理如下:可以用Pdh(performance data helper)库提供的一些函数来获取系统当前的一些性能数据(也可以读取日原创 2015-11-03 10:23:05 · 1145 阅读 · 0 评论 -
CONTAINING_RECORD宏的详细解释
我对CONTAINING_RECORD宏的详细解释标签: C语言, 结构体 日期: 2013-01-07 分类: C&C++ 字号: 宏 CONTAINING_RECORD 的用处其实还是相当大的, 而且很是方便, 它的主要作用是:根据结构体中的某成员的地址来推算出该结构体整体的地址!下面从一个简单的例子开始说起, 我们定义一个结构体, 同时类型化:typedef stru转载 2015-11-04 11:20:14 · 379 阅读 · 0 评论 -
科学表明:晚睡的人更聪明、更有创造力
People Who Sleep Late Are Smarter And More Creative, Science SaysAnyone ever yell at you for doing something the wrong way? Maybe it wasn’t wrong at all; maybe they just wanted something done a转载 2016-03-01 00:08:55 · 1522 阅读 · 0 评论