摘要: 函数名,函数签名...__FUNCSIG__ __FUNCDNAME__ __FUNCTION__ __func____FUNCSIG__ __FUNCDNAME__ __FUNCTION__ __func__在最新的ISO C标准中,如大家所知的C99,加入了另一个有用的、类似宏的表达式__func__,其会报告未修饰过的(也就是未裁剪过的)、正在被访问的函数名。请注意,__func__不是一个宏,因为预处理器对此函数一无所知;相反,它是作为一个隐式声明的常量字符数组实现的:static const char __func__[] = "function-name";官方 阅读全文
posted @ 2011-02-14 23:51 OYJJ 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 今天遇到一个链接错误,用于要进行网络字节序转换,使用了winsock2.h中的htons ntohs...文件的头文件引用大致如下#include <windows.h>#include <WinSock2.h>报链接错误,ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition...ws2def.h(127) : warning C4005: 'AF_MAX' : macro redefinition......一番在网上搜索,终于找到解决的方法。出现此问题的原因在于wind 阅读全文
posted @ 2011-02-14 23:44 OYJJ 阅读(1362) 评论(0) 推荐(0) 编辑
摘要: 遇到一个问题,如果在一个线程中使用WaitCommEvent来处理RX接受中断的话,如果没有任何事件发生,程序将阻塞在WaitCommEvent一行,以至于无法正常终止线程。解决方法:要使WaitCommEvent正常终止,需要使用OVERLAPPED模式在创建串口设备的时候(CreateFile)使用重叠IO的方式。这样WaitCommEvent就会立即返回,再去Wait OVERLAPPED结构的hEvent,同时再创建一个线程终止的Event对象。使用API,WaitForMultipleObjects来等待这两个时间。即可实现串口数据接受线程的正常退出。 阅读全文
posted @ 2011-02-14 23:37 OYJJ 阅读(1478) 评论(0) 推荐(1) 编辑