随笔分类 - c++
摘要:转载:http://blog.csdn.net/candyliuxj/article/details/7853938(1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作:第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件;第二步,将工程中所有的obj文件进行LINK,生成最终.exe文件。 那么,错误可能在两个地方产生:一个,编译时的错误,这个主要是语法错误;一个,链接时的错误,主要是重复定义变量等。 编译单元指在编译阶段生成的每个obj文件。 一个obj文件就是一个编译单元。 一个.cpp(.c)和它相应的.h文件共同...
阅读全文
摘要:支持的类型有:int,short,long,char,enum,bool不支持的类型:float,double,string测试代码: 1 void SwitchParamTest() 2 { 3 //int 4 int nV = 3; 5 switch ( nV ) 6 { 7 case 3 : 8 cout << "int is ok" << endl; 9 break; 10 default: 11 break; 12 } 13 14 //short...
阅读全文
摘要:原理: 使用 _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
阅读全文
摘要:网上看到的不错的总结,稍加整理,收藏下,方便今后回顾,1、区别 (1)静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你是否愿意,lib中的指令都会全部包含在最终生成的exe文件中,最终exe执行时不再需要此lib。若使用动态链接库dll,该dll不必被包含在最终生成的exe文件中,exe文件执行时可以“动态”地引用和卸载这个与exe独立的dll文件。 (2)静态链接库中不能在包含其他的动态或者静态链接库,而动态链接库中还可以再包含其他的动态或者静态链接库。 (3)静态链接库的使用,需要库开发者提供生成库的.h文件和.lib文件;动态链接库需要库开发者提供.h文件、....
阅读全文
摘要:“类名称”+“::”调用方式注:对静态函数或静态成员的调用方式不做分析;以下提到的测试环境为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...
阅读全文
浙公网安备 33010602011771号