以下工具命令来自于《程序员的自我修养一链接、装载与库》

A.3.4 cl ,MSVC编译器

  1. /c:只编译不链接
  2. /Za:禁止语言扩展
  3. /link:链接指定的模块或给链接器传递参数
  4. /Od:禁止优化。
  5. /O2:以运行速度最快为目标优化。
  6. /O1:以最节省空间为目标优化。
  7. /GR或/GR-:开启或关闭RrT
  8. /Gy:开启函数级别链接
  9. /GS或/GS-:开启或关闭
  10. /Fa[file]:输出汇编文件
  11. /E:只进行预处理并且把结果输出
  12. /I:指定头文件包含目录。
  13. /Zi:启用调试信息
  14. /LD:编译产生DLL文件
  15. /LDd:编译产生DLL文件(调试版)。
  16. /MD:与动态多线程版本运行库 MSVCRT.LIB链接。
  17. /MDd:与调试版动态多线程版本运行库 MSVCRTD.LB链接。
  18. /MT:与静态多线程版本运行库 LIBCMTLIB链接。
  19. /MTd:与调试版静态多线程版本运行库 LIBCMTD.LB链接

A.3.5 link,MSVC链接器

  1. /BASE:address:指定输出文件的基地址。
  2. /DEBUG:输出调试模式版本
  3. /DEF:filename:指定模块定义文件.DEF
  4. /DEFAULTLIB:library:指定默认运行库。
  5. /DLL:产生DLL
  6. /ENTRY:symbol:指定程序入口
  7. /EXPORT:symbol:指定某个符号为导出符号。
  8. /EAP:指定默认堆大小
  9. /LIBPATH:dir:指定链接时库搜索路径。
  10. /MAP[:filename]:产生链接MAP文件。
  11. /NODEFAUILTLIB[:library]:禁止默认运行库。
  12. /OUT:filename:指定输出文件名
  13. /RELEASE:以发布版本产生输出文件。
  14. /STACK:指定默认栈大小。
  15. /SUBSYSTEM:指定子系统。

A.3.6 dumpbin,MSVC的COFF/PE文件查看器

  1. /ALL:显示所有信息。
  2. /ARCHIVEMEMBERS:显示.LIB文件中所有目标文件列表。
  3. /DEPENDENTS:显示文件的动态链接依赖关系
  4. /DIRECTIVES:显示链接器指示
  5. /DISASM:显示反汇编
  6. /EXPORTS:显示导出函数表。
  7. /HEADERS:显示文件头。
  8. /IMPORTS:显示导入函数表。
  9. /LINENUMBERS:显示行号信息。
  10. /RELOCATIONS:显示重定位信息。
  11. /SECTION:name:显示某个段。
  12. /SECTION:显示文件概要信息。
  13. /SYMBOLS:显示文件符号表。
  14. /TLS:显示线程局部存储TLS信息。