摘要: 原理: 使用 _onexit() 函数注册一个函数,这个函数会在main函数退出后执行使用原则: 1、包含在cstdlib中,是c语言中的库函数; 2、需要注册的函数格式为:int类型返回值、无参数,参见_onexit()定义; 3、无论_onexit函数放到main中哪个位置,相应的已注册函数都是最后执行; 4、如果用_onexit注册了多个函数,则已注册函数的执行顺序跟注册顺序相反;测试代码: 1 #include "stdafx.h" 2 #include 3 #include 4 5 using namespace std; 6 7 8 int test1( int 阅读全文
posted @ 2014-02-18 14:29 weiquxiong 阅读(162) 评论(0) 推荐(0)
摘要: 网上看到的一篇很不错的总结,这里收藏下,顺便记录下自己的理解。原文:http://blog.csdn.net/xinpo66/article/details/8599306原文主要内容(红色字体为自己的理解或对原文修改过的地方):求一个unsigned int 数的二进制表示中有多少个1? 这是一道面试题可以用以下的一些方案。第一种是很容易想到的采用循环的方式并且与1进行位与运算,具体代码如下。[cpp]view plaincopyunsignedintGetBitNumOfOne_ByLoop1(unsignedintnValue){constunsignedintnNumOfBitInBy 阅读全文
posted @ 2014-02-13 14:42 weiquxiong 阅读(527) 评论(1) 推荐(2)
摘要: 网上看到的不错的总结,稍加整理,收藏下,方便今后回顾,1、区别 (1)静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你是否愿意,lib中的指令都会全部包含在最终生成的exe文件中,最终exe执行时不再需要此lib。若使用动态链接库dll,该dll不必被包含在最终生成的exe文件中,exe文件执行时可以“动态”地引用和卸载这个与exe独立的dll文件。 (2)静态链接库中不能在包含其他的动态或者静态链接库,而动态链接库中还可以再包含其他的动态或者静态链接库。 (3)静态链接库的使用,需要库开发者提供生成库的.h文件和.lib文件;动态链接库需要库开发者提供.h文件、.... 阅读全文
posted @ 2014-02-13 11:34 weiquxiong 阅读(225) 评论(0) 推荐(0)
摘要: 今天学习了下VC6.0下boost的编译,只是对regex进行了编译,据说全部编译需要2个多小时,在此记录下学习过程中遇到的问题以便今后查看。最开始直接从网上(www.boost.org)下载了当前最新版本boost_1_55_0.zip,无法正常编译,查找原因为vc6.0由于对c++标准支持的不是很好,所以当前的最新版本不支持vc6.0编译,于是尝试着下载了比较老的版本boost_1_39_0.7z进行编译。1、解压将下载的boost_1_39_0.7z进行解压,最终在我机子上的绝对路径为:D:\boost\boost_1_39_0解压路径因人而异,不过最好不要包含中文。2、编译在“运行”中 阅读全文
posted @ 2014-02-12 17:59 weiquxiong 阅读(512) 评论(0) 推荐(0)
摘要: “类名称”+“::”调用方式注:对静态函数或静态成员的调用方式不做分析;以下提到的测试环境为vc6.0;调试程序时看到这样的代码:1 pObj->ClassName::Function();开始不理解为什么要在“->”后加上类名“ClassName::”,一般使用中类名称加“::”(ClassName::)是用来调用静态函数或静态成员的,带着疑问做了下尝试。定义类A: 1 class A 2 { 3 public: 4 void Test() 5 { 6 int nVal= 8; 7 int nV... 阅读全文
posted @ 2014-02-12 10:57 weiquxiong 阅读(2719) 评论(1) 推荐(1)