随笔分类 -  C/C++

摘要:大家知道,jwSMTP是一个简单易用的发送Email的开源C++库。笔者在系统业务中存在发送报警邮件的需求,系统是python语言开发的,于是使用了这个库并将其包装成python接口(python内置的发邮件模块容易存在编码问题,不方便控制)感觉不错,简单快捷稳定,编码一切正常,可是经过实测发现所有发送的邮件的“发送时间”都与实际时间存在几个小时的偏差,而且偏差是固定。几番痛苦折腾无果,最后查看邮件SMTP协议相关的技术文档,有这么一段话:恍然大悟,于是用单步调试模式跟踪jwSMTP发送代码的代码,最后在如下这个地方找到了问题的答案:在源代码mailer.cpp文件中发送时间戳字符串那地方.. 阅读全文
posted @ 2013-03-26 16:22 软践 阅读(702) 评论(0) 推荐(0)
摘要:开源项目地址:http://code.google.com/p/googletest/项目源码包msvc里面为vs工程文件编译出来的gtestd.lib或是gtest.lib文件系列博文:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html基本使用:1. 包含目录设置2. 链接设置:3. 运行时库要和编译gtest时一致 阅读全文
posted @ 2013-03-26 15:02 软践 阅读(255) 评论(0) 推荐(0)
摘要:1. 设置include2. "运行时库"设置,这里选择为静态方式3. 附加lib库设置注:如果没有涉及python C 扩展可以在上面的相关路径设置中去掉“python”有关的项 阅读全文
posted @ 2013-02-27 19:41 软践 阅读(923) 评论(0) 推荐(0)
摘要:第一步:编译boost库得到相关include和library文件第二步:将library中的 libboost_python-vc90-mt-1_46_1.lib库文件复制一份改名为boost_python-vc90-mt-gd-1_46_1.lib拷贝到/Python/libs目录中第三步:在vs2008里将上一步编译的boost和系统python的include和library路径分别加入到 "包含文件"和"库文件"第四步:创建一个win32 DLL项目第五步:修改工程属性 C/C++中 设置【不使用预编译头】【不启用最小重新生成】 连接器中 清空 阅读全文
posted @ 2011-07-26 17:52 软践 阅读(663) 评论(0) 推荐(0)
摘要:条件编译属于三种宏定义中的一种条件指示符的最主要目的是防止头文件的重复包含和编译,例如:一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误条件编译的命令的三种形式:形式1 # ifdef 标识符 /*程序段 1*/ # else /*程序段 2*/ # endif //它的作用是当标识符已经由#define定义过了,则编译程序段1,否则编译程序段2 // 简单形式 # ifdef 标识符 /*程序段1*/ # endif形式2 # ifndef 标识符 # define 标识符 /*程序段 1*/ # else /*程序段 2*/ #e n di f //它 阅读全文
posted @ 2011-04-27 15:20 软践 阅读(1578) 评论(0) 推荐(0)