摘要:
一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论) Debug 版本: /MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库) 阅读全文
摘要:
优化/O1创建小代码/O2创建快速代码/Oa假设没有别名/Ob控制内联展开/Od禁用优化/Og使用全局优化/Oi生成内部函数/Op改善浮点数一致性/Os代码大小优先/Ot代码速度优先/Ow假定在函数调用中使用别名/Ox使用最大优化 (/Ob2gity /Gs)/Oy省略框架指针代码生成/arch使用 SSE 或 SSE2 指令生成代码/clr启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件/EH指定异常处理模型/G3优化代码以优选 386 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项/G4优化代码以优选 486 处理器。在 Visual C++ 5.0 阅读全文
摘要:
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。 3.格式化一段乱七八糟的源代码 选中那段源代码,按ATL+F 阅读全文
摘要:
View Code 1 #include <windows.h> 2 #include <shobjidl.h> 3 #include <shlguid.h> 4 #include <shlobj.h> 5 #include <tlhelp32.h> 6 7 #pragma comment(linker, "/opt:nowin98") 8 #pragma comment(linker, "/opt:ref") 9 #pragma comment (linker, "/OPT:ICF& 阅读全文