gcc 的用法
前面说过, gcc 为 Linux 上面最标准的编译器,这个 gcc 是由 GNU 所维护的,有兴趣的朋友请自行前往参考。既然 gcc 对于 Linux 上的 Open source 是这么样的重要,所以底下我们就列举几个 gcc 常见的参数,如此一来大家应该更容易瞭解原始码的各项功能吧?!
# 仅将原始码编译成为目标档,并不制作连结等功能:
[root@linux ~]# gcc -c hello.c
# 会自动的产生 hello.o 这个档案,但是并不会产生 binary 执行档。
# 在编译的时候,依据作业环境给予最佳化执行速度
[root@linux ~]# gcc -O hello.c -c
# 会自动的产生 hello.o 这个档案,并且进行最佳化喔!
# 在进行 binary file 制作时,将连结的函式库与相关的路径填入
[root@linux ~]# gcc sin.c -lm -L/usr/lib -I/usr/include
# 这个指令较常下达在最终连结成 binary file 的时候,
# -lm 指的是 libm.so 或 libm.a 这个函式库档案;
# -L 后面接的路径是刚刚上面那个函式库的搜寻目录;
# -I 后面接的是原始码内的 include 档案之所在目录。
# 将编译的结果输出成某个特定档名
[root@linux ~]# gcc -o hello hello.c
# -o 后面接的是要输出的 binary file 档名
# 在编译的时候,输出较多的讯息说明
[root@linux ~]# gcc -o hello hello.c -Wall
# 加入 -Wall 之后,程式的编译会变的较为严谨一点,
# 所以警告讯息也会显示出来!
比较重要的大概就是这一些。另外,我们通常称 -Wall 或者 -O 这些非必要的参数为旗标( FLAGS ),因为我们使用的是 GCC ,所以有时候也会简称这些旗标为 CCFLAGS ,这些变数偶尔会被使用的喔!尤其是在后头会介绍的 make 相关的用法时,更是重要的很呐! ^_^
阅读(1414) | 评论(0) | 转发(0) |