A9

75 posts
RSS

GCC命令详解与实践(六) -- 预处理器选项

我们知道,预处理是在C源文件编译之前进行的,预处理器选项是用来控制编译器执行代码预处理的选项。 在预编译器选项中,我们只使用-E选项进行预处理,当只使用-E选项时,编译器除了预处理之外什么也不做。 而有一些预处理选项需要与-E一起使用才有意义,否则它们会导致预处理输出的结果不...

GCC命令详解与实践(五) -- 代码优化选项

代码优化选项,顾名思义就是用来优化代码的编译选项。 在没有任何优化的情况下,编译器的目标是降低编译成本,并输出预期的结果。 打开优化选项后,编译器会以牺牲编译时间和调试程序的能力为代价来改进性能和/或代码大小。 代码优化的选项有很多种,但我们通常通过设置代码优化等级来告诉编...

GCC命令详解与实践(四) -- 告警选项

告警是指代码本身没有错误,但有风险,或有潜在错误。GCC编译器可以通过告警选项请求或禁止打印告警信息。通常在调试过程中,打印必要的告警信息,这对于程序员排查代码错误,提高软件质量非常有帮助。 在本章中,我们依然以之前文章提到的foo.c文件为例进行讲解。 gcc -fmax-...

GCC命令详解与实践(三) -- C语言控制选项

在开始这一章之前,我们先了解两个概念: C的派生语言和C的子集。 C的派生语言指的是从C语言衍生出来的编程语言, 如C++, Objective-C和Objective-C++。 C的子集指的是K&R C,ANSI C(即C89),C90(即ISO C),C99,C1...

GCC命令详解与实践(二) -- 全局选项

为方便描述,以下以文件foo.c为例。在foo.c中,我们简单写一个两数求和的代码。然后存放到自己指定的文件夹下,最后在foo.c的文件夹下进入命令行环境。 前期准备 编写代码; foo.c代码如下: #include <stdio.h> int main(voi...

GCC命令详解与实践(一) -- 概述

GCC编译器的功能 这一章,我们来学习gcc编译器的命令。很多讲makefile的资料因为对gcc命令操作介绍较少,对小白学习makefile非常不友好,所以,在这里我想重点介绍一下gcc的常用命令。 在开始学习之前,我们再来回顾一下makefile的规则,Makefile的规...

Makefile的Hello World

Makefile的规则 Makefile的语法或者说规则很简单。它的规则如下: targets: prerequisites <commands> target 也就是一个目标文件,可以是 Object File,也可以是执行文件。还可以是一个标签( Label),...

Cygwin安装教程【超详细】

古人云:“纸上得来终觉浅绝知此事要躬行。”学习Makefile最好的方法不是去记忆它的语法和规则,而是实际。因此,本门课程通过Cygwin来实操Makefile的所有例程。 什么是Cygwin Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus s...