大家可能一直在用 开发软件,但是对于这个编译器却未必很了解。原因是
多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为
它只是一个工具,我们宁可把更多的精力放在 语言和软件设计上。我们习
惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。
但是,所谓:“公欲善其事,必先利其器”。如果我们精于 开发环境,我们是
不是能够做得更加游刃有余呢?
闲话少说。我们先来看一下 的处理流程,大致分为两步:编译和连接。
源文件通过编译生成了 文件;所有 文件和 文件通过连接生成
文件或 文件。下面,我们分别讨论这两个步骤的一些细节。
编译参数的设置。主要通过 的菜单项 页
来完成。我们可以看到这一页的最下面 中的内容,一般如下:
!"#$#%&$$'()*$
$'#%$$'+,!--$$'
)$,$./0$1.$230$,$.$
,$.$,"
各个参数代表的意义,可以参考 。比如 表示编译时不在输
出窗口显示这些设置(我们可以把这个参数去掉来看看效果)等等。一般我们
不会直接修改这些设置,而是通过这一页最上面的 24 中的各项来完成。
562:一些总体设置。27 用来控制警告信息,其中
-75 是最严重的级别;22 将警告信息当作错误处理;
82 是代码优化,可以在 24 的 82 项中进行更
细的设置;293 用以生成 文件,记录类、变量等符号
信息,可以在 24 的 -, 项中进行更多的设置。.
3,生成调试信息:%,不产生任何调试信息(编译比较快);-
%. 4,仅生成全局的和外部符号的调试信息到): 文件或(!( 文
件,减小目标文件的尺寸;;< 2,记录调试器用到的所有符号
信息到): 文件和(!( 文件;2 222,创建) 文件记录所
有调试信息;2 2223$(=.$,创建) 文件
记录所有调试信息,并且支持调试时编辑。
&6-2.2:'' 2 用来设置
类定义引用的先后关系,一般为 )2+924 表示在引用类之前该类肯
定已经定义了;(2(>2,进行同步的异常处理;
(2?./ /4#3 2 迫使编译器增加代码在运行时进行对
象类型检查;2.2 ,设置类构造析构函数
调用虚函数问题。