在上图中运行的命令“./main”,其中的“./”代表当前目录下。我们可以看到在终端打印出了 Hello
World!。至此,Linux 下的 C 语言编辑和编译的一整套流程我们就介绍完了。
3.2 gcc 编译器 编译器
3.2.1 gcc 命令分析
在 3.1 节我们已经使用 gcc 编译了 Linux 下的第一个 C 程序,gcc 命令的格式如下:
gcc [参数] [文件名]
主要参数说明如下:
-c 编译、汇编到目标代码(.o),不链接成可执行文件
-g 生成调试信息
-o 编译完成后生成的文件名,如果不使用该选项,默认生成 a.out 文件
-O 对程序进行优化编译,产生的可执行文件执行效率高
-w 不生成任何警告
-S 仅编译到汇编语言,不进行汇编和链接
3.2.2 编译警告错误处理
我们是 Windows 下使用 Keil 或者其他开发工具,在编译的时候,如果程序有错误,开发工具会提示出
具体的错误信息,可以很方便的定位到问题点,快速的修改出现的问题,gcc 同样也有类似的功能,下面我
们来看下 gcc 的错误提示功能,首先我们在 work 目录下建立文件夹“test2”,然后使用 vim 在 test2 文件
夹创建 main.c 文件夹,在 main.c 文件输入如下代码:
#include
int main(int argc, char *argv[])
{
int a;
a = 1
printf("a=
", a);
return 0;
}
上面代码有两处错误:
第 7 行 最后缺少“;”
第 9 行 printf 语法不对,应该为:printf("a =%d
", a);
我们使用 gcc 编译 main.c,可以看到 gcc 会提示错误信息,如下图所示:
从上图中可以看到在 mian.c 文件的第 9 行 printf 前面缺少“;”我们在第 7 行“a = 1”后面加上“;”,
然后继续编译,如下图所示:
8.jpg (31.69 KB, 下载次数: 0)
下载附件 保存到相册
2020-5-22 12:01 上传
从上图可以看出编译提示语法格式不对,我们把第 9 行修改成“printf("a=%d
", a);”,然后在继续编译,如下图所示:
我们可以看到这次 gcc 编译通过,最终生成了文件 main。我们在终端执行 main,运行结果如下图所示:
从上图可以看到运行的结果和我们涉及到额结果一致,通过本例程可以看到 gcc 编译器不仅可以检测出
程序的错误,而且还会标记处错误在哪个文件的哪一行,很方便的帮助我们去修改问题。
更多内容关注:
`