【Windows 应用程序开发详解】三.Windows开发工具配置与使用
我们都知道在应用程序开发的时候都是要依赖于开发工具的,Windows主机应用程序绝大多数都是使用C或者C++语言开发的,所以C\C++编译器和链接器等程序生成工具是我们开发Windows主机应用程序的必备工具,本篇文章将详细说明这些.Windows开发工具的配置与使用,以及如何使用微软提供的头文件与库文件来去构造windows应用程序。
一.Visual C/C++
-
cl.exe编译器 cl.exe文件是Visual C\C++的编译器,可以将程序源代码文件编译成obj文件,cl.exe命令行参数的形式如下: -
命令行参数
CL 【option...】 file ... 【option...】 file ...【lib...】【@command-file】【/link link-opt】
参数 | 含义 |
---|
option | 指一个或多个编译选项 | file | 编译器必要参数,file是一个或多个所需要编译的源文件,也可以是.obj文件或库文件 | lib | 用于指定一个或多个库名,cl.exe直接将这些名称传递给链接器,lib是cl.exe的可选参数 | command-file | 包含多个选项和文件名的文件,为可选参数 | link-opt | 可选参数,一个或多个链接器选项,CL将这些选项传递给连接器 |
3.编译器选项
- Option参数是cl.exe的编译选项,是cl.exe命令行参数中最复杂、也是最常使用的,下述为最常用的一些编译选项
选项 | 用途 |
---|
/arch | 使用SSE或SSE2指令生成代码,对程序进行优化 | /bigobj | 增加.obj文件中的可寻址节数 | /clr | 生成要在公共语言运行库上运行的输出文件 | /EH | zhi ding | /fp | 指定浮点行为 | /Ge | 激活堆栈探测 | /GF | 启用字符串池 | /Gm | 启用最小重新生成 | /GR | 启用运行时类型信息(RTTI) | /Gs | 控制堆栈探测 | /GX | 启用同步异常处理 | /Gy | 启用函数级链接 |
/GS | 缓冲区安全检查 |
---|
GZ | 与/RTC1相同 | /RTC | 启用运行时错误检查 | /Wp64 | | /Yd | 将完整的调试信息放在所有对象文件中 | /Y1 | 创建调试库时插入PCH引用 | /Z7 /Zi /ZI | 生成调试信息,分别表示三种不同的调试符号文件格式 |
/O1 /O2 /Od | 分别表示代码体积最小、代码速度最快、不使用优化,互斥 |
---|
Ob1 | 控制内联函数展开 | Oi | 生成内部函数 | Os/Ot | 代码大小有限、代码速度优先 | Ox | 使用最大优化 (/Ob2gity /Gs) | Oy | 省略帧指针(仅限x86) | /GL | 启用全程序优化 | GT | 支持使用静态线程本地存储区分配的数据和线程安全 |
|