123456

 

2012年8月29日

__declspec(naked)详解

摘要: __declspec(naked)是用来告诉编译器函数代码的汇编语言为自己的所写,不需要编译器添加任何汇编代码注意点:void __declspec(naked) funname(){_asm{...ret}}注意,__declspec(naked)是编译器直接拿来用的汇编函数代码,所以一定要记得在开始的时候保存上下文标志位(压栈),在结束的时候要记得恢复上下文(出栈)。并且在结尾要加上ret命令比较下面两段代码:(都是调用strcmp函数)VOID __declspec(naked) MyNakedFunction(){strcmp(...);// __cdecl 函数是调用者清除参数堆栈, 阅读全文

posted @ 2012-08-29 20:45 hgy413 阅读(634) 评论(0) 推荐(0) 编辑

string头文件与cstring头文件

摘要: 首先说string的头文件1、包装了std的C++头文件2、旧的C头文件3、旧C头文件的std版本,切记,这不是cstring的头文件详见effectivec++的第49条再说cstring的头文件注:VC9编译环境下1、非MFC版本,控制台程序就用这个、都可以。//要在项目->属性->常规里设置为使用MFC(动/静).2、//onlybeusedinMFCprojects.MFC版本,需要链接MFC的dll或静态库。网上很多人说要包含,包含的东西就比较多了CObject及其派生类,还有文件类、时间类、异常类、字符串类等等(700多行的位置包含了afxstr.h),如果仅仅需要cs 阅读全文

posted @ 2012-08-29 11:31 hgy413 阅读(539) 评论(0) 推荐(0) 编辑

导航