面试
luckyboyPB
这个作者很懒,什么都没留下…
展开
-
cdecl、stdcall、fastcall是什么?哪种可以实现个数不定的入口参数,为什么?
cdecl、stdcall、fastcall是什么?哪种可以实现个数不定的入口参数,为什么?函数调用约定有多种,这里简单说一下: 1、__stdcall调用约定相当于16位动态库中经常使用的PASCAL调用约定。在32位的VC++5.0中PASCAL调用约定不再被支持(实际上它已被定义为__stdcall。除了__pascal外,__fortran和__syscall也不被支持),取而代之的是原创 2013-06-07 00:05:45 · 878 阅读 · 0 评论 -
多态的几种类型
总体是分为通用多态和专用多态:通用多态:不同的类型值,执行相同的代码。专用多态:不同的类型值,执行不同的代码。(类似枚举 “什么类型,执行什么操作”) 通用多态分为:参数多态和包含多态参数多态:参考c++中的template(静态联编时候实现)包含多态:可以理解为abstract functions,interface的方法(动态联编时候实现,)原创 2013-06-07 00:15:58 · 4357 阅读 · 0 评论 -
用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()
用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()一、16位的系统下:int i = 65536;cout int i = 65535;cout 32位的系统下:int i = 65536;cout int i = 65535;cout 二、int a = ~0;if(a>65536){原创 2013-06-06 23:55:37 · 4184 阅读 · 0 评论 -
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
以下是在论坛中看到的两种解释:(1)如果是要你的代码在编译时发现编译器类型,就判断_cplusplus或_STDC_宏,通常许多编译器还有其他编译标志宏,#ifdef __cplusplus cout#else cout#endif 如果要判断已经编译的代码的编译类型,就用nm查一下输出函数符号是否和函数名相同。(相同为c,不同为c转载 2013-06-06 23:43:32 · 794 阅读 · 0 评论