
c++
lessonzhe
保持好自己的状态,要学会控制自己的情绪,机会总是留给有准备的人,关键时刻要擅于把握机会
展开
-
c++使用智能指针时,尽量不要暴露原始指针
c++使用智能指针 ,如std::auto_ptr apstr1(new string("test")); 不应写成:string* str1 = new string("test")); std::auto_ptr apstr1(str1);。 总之c++使用智能指针时,尽量不要暴露原始指针,比较不会产生不必要的问题。原创 2008-04-19 17:29:00 · 1214 阅读 · 0 评论 -
如何从PIMAGE_IMPORT_DESCRIPTOR节,得到某个API函数(导入函数)代码地址
//功能:得到某个API函数(导入函数)代码地址//参数://pImport: PIMAGE_IMPORT_DESCRIPTOR//pProcName: 函数名或序号const FARPROC GetFunctionFARPROC( PIMAGE_IMPORT_DESCRIPTOR pImport, LPCSTR pProcName) { PIMAGE_THUNK_DATA pThunk;原创 2008-04-24 00:02:00 · 3826 阅读 · 0 评论 -
如何从PIMAGE_EXPORT_DIRECTORY节,得到某个API函数代码地址
//功能:得到某个API函数代码地址//参数://hModule: 导入模块的句柄(如user32.dll模块的句柄,GetModuleHandle("user32.dll"))//pProcName: 函数名或序号 const FARPROC GetExportFunctionFARPROC(HMODULE hModule, LPCSTR pProcName) { PIMAGE_EXPORT_D原创 2008-04-24 00:28:00 · 2386 阅读 · 0 评论 -
从汇编看,vc调用API函数和自定义函数的区别
API函数调用:是先得到API函数代码地址的导入地址,再得到API函数代码地址,再执行代码内部实现函数调用:是先调"内部实现函数"的"函数入口的静态表(@ILT)"的对应函数,再执行真正函数代码。比如:调MessageBoxA(NULL, "Test", "Test", MB_OK);执行汇编代码为:dword ptr [__imp__MessageBoxA@16 (0042b2cc)],0042原创 2008-04-24 00:45:00 · 1346 阅读 · 0 评论 -
VC工程如何设置为可调试的模式
首先打开菜单 项目->项目属性页 1。选择 配置属性->链接器->调试->生成调试信息 改为 是 2。选择 配置属性->C/C++ ->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI) 3。选择 配置属性->C/C++ ->优化->优化 改为 禁用(/Od)原创 2009-04-03 22:55:00 · 1068 阅读 · 0 评论