在Linux下用GCC编译C程序
2013-08-30 Tech
得知第一学期似乎就要搞 C 了,以前没认真看过,今儿图书馆去翻了本 Linux C 的书,学会怎么编译先。
操作环境:Linux 3.10.9-1-ARCH
安装 GCC
Arch 安装软件蛮简单的,直接在终端里面
pacman -S gcc
就搞定了。
使用 GCC 编译你的 C 程序
最简单的命令,就是
gcc helloc.c -o hello.out
其中选项-o
是指定输出文件位置,正常情况下,执行完之后生成的就是可以运行的二进制文件了。当然,因为这是 Linux 系统,你可能还需要运行chmod +x hello.out
来赋予执行权限给输出的程序。
然后 GCC 还有一些其它的一些常见编译/优化/调试用的选项(参考书上的),这些就在接下来慢慢折腾吧。
选项 | 作用 | 输出文件的默认后缀 |
---|---|---|
-E | 只完成预处理过程 | .i |
-S | 在以上选项的基础上完成编译,生成汇编代码 | .s |
-c | 在以上选项的基础上完成汇编,生成机器码(此时输出的文件还不能运行) | .o |
-O0 | 输出给定源文件的所有依赖关系 | - |
-O,-O1 | 输出给定源文件的所有依赖关系 | - |
-O2 | 输出给定源文件的所有依赖关系 | - |
-O3 | 在以上的基础上 | - |
-Os | 输出最小的可执行文件 | - |
-M | 输出给定源文件的所有依赖关系 | - |
-MM | 输出给定源文件的除了标准库头文件之外的依赖关系 | - |
-MD | 输出给定源文件的所有依赖关系,同时编译生成可执行文件 | .d(依赖关系文件) .out(可执行文件) |
Comments...