【Windows 应用程序开发详解】三.Windows开发工具配置与使用

  • 一.Visual C/C++


我们都知道在应用程序开发的时候都是要依赖于开发工具的,Windows主机应用程序绝大多数都是使用C或者C++语言开发的,所以C\C++编译器和链接器等程序生成工具是我们开发Windows主机应用程序的必备工具,本篇文章将详细说明这些.Windows开发工具的配置与使用,以及如何使用微软提供的头文件与库文件来去构造windows应用程序。

一.Visual C/C++

  1. cl.exe编译器
    cl.exe文件是Visual C\C++的编译器,可以将程序源代码文件编译成obj文件,cl.exe命令行参数的形式如下:
  2. 命令行参数
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

支持使用静态线程本地存储区分配的数据和线程安全