
c++
aitp2011
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
模板的特化与偏特化
模板的特化(模板参数列表指定特定类型) 首先定义一个模板: template class test { //泛化实现代码 } 然后特化模板: template //尖括号中不带任何类型,也即原模板中的参数列表都将被特化 class test //A、B用Cat,Dog特化 { //特化实现代码 } 在以后使用test时,若为 test则表示执行特化实现的代码,若传入其转载 2015-03-25 18:09:04 · 428 阅读 · 0 评论 -
MFC中的字符类型转换
工程用Unicode编码 MFC调用底层接口,底层需要传入char*,要将Cstring转成char*: Cstring tmpStr; USES_CONVERSION; char* needstr = T2A(tmpStr); char* 转成Cstring,直接转就行: char* tmpStr; Cstring needstr(tmpStr); 常原创 2015-04-02 14:14:01 · 451 阅读 · 0 评论 -
动态链接库与静态链接库
概念 动态链接:lib文件一般是一些索引信息,记录了函数在DLL文件中的入口信息;dll文件在运行时加载到进程空间中,包含了要执行的代码逻辑,因此可知动态库中的被引用函数不会包含在可执行文件中,所以应用程序最后发布时,需要exe与dll文件一起发布。 静态链接:lib包含了函数代码(实际是各种cpp编译生成的obj的集合),在编译阶段直接将代码加入程序中;链接器从lib中获取所有的被引用函数,转载 2015-05-21 16:21:01 · 419 阅读 · 0 评论 -
linux下使用Jsoncpp
linux下使用Jsoncpp源码与项目代码一起编译时,会出现很多报错,诸如: error: missing binary operator before token "(" /usr/include/wchar.h:104:1: error: ‘__BEGIN_NAMESPACE_C99’ does not name a type /usr/include/wchar.h:107:1:原创 2015-07-11 09:32:23 · 1585 阅读 · 1 评论 -
IO阻塞、非阻塞、同步、异步理解
http://blog.youkuaiyun.com/historyasamirror/article/details/5778378 http://www.zhihu.com/question/19732473 IO分5种:blocking IO、nonblocking IO、IO multiplexing、signal driven IO(少用)、asynchronous IO 阻塞判断标准转载 2015-07-21 16:03:46 · 430 阅读 · 0 评论 -
linux获取局域网、公网IP地址以及主机名
int IsLANIP(unsigned int nIP) { // filter LAN IP's // ------------------------------------------- // 0.* // 10.0.0.0 - 10.255.255.255 class A // 172.16.0.0 - 172.31.255.255 class原创 2015-10-23 19:52:13 · 3368 阅读 · 0 评论 -
使用libxml读取分析配置文件
配置文件示例如下: 7 192.168.2.213 5730 192.168.2.230 9003 首先定义存储信息的结构体: typedef struct _partition { char ip[STRING_SIZE_MAX]; int port; } partition_原创 2015-11-02 19:59:54 · 506 阅读 · 0 评论 -
c语言宏定义中的#、##应用实例
#:用于字符串化,#后面的参数被转成一个字符串 ##:用于字符串的分割连接 举例: 首先定义一个字符串及其长度的结构体: typedef struct AVal { char *av_val; int av_len; } AVal;宏定义一个该类型的字符串结构: #define AVC(str) {str,sizeof(str)-1} #define SAVC(x) s原创 2015-11-02 18:33:57 · 742 阅读 · 0 评论