一、安装
在Linux下,一般使用gcc或arm-linux-gcc交叉编译器来编译程序。在Ubuntu环境下,我们可以使用以下apt-get命令来安装这些编译程序。
apt-get install gcc
apt-get install gcc-arm-linux-gnueabi
安装完毕后,使用以下命令查看编译器版本。若安装成功,会显示版本信息。
gcc -v
arm-linux-gnueabi-gcc -v
二、使用
如我们编写一个简单的C程序
//test.c
#include <stdio.h>
int main (void)
{
printf("hello world!\n");
return 0;
}
然后就可以使用gcc命令来编译test.c源程序文件
gcc -o hello test.c
./hello
hello world!
gcc在编译test.c文件时,会依次调用预处理器、编译器、汇编器、链接器,最后生成可执行文件hello。我们也可以根据需要通过gcc编译参数来控制编译过程。
-E | 只对C源程序进行预处理,不编译 |
-S | 只编译到汇编文件,不再汇编 |
-c | 只编译生成目标文件,不进行链接 |
-o | 指定输出的可执行文件名 |
-g | 生成带有调试信息的debug文件 |
-O2 | 代码编译优化等级,一般选2 |
-W | 在编译中开启警告(warning)信息 |
-I | 大写的I,指定头文件路径 |
-l | 小写的l,指定程序使用的函数库 |
-L | 大写的L,指定函数库路径 |
例如:
#只进行编译操作,不链接
gcc -c test.c
#只做预处理操作,不再编译,并将与处理结果重定向至test.i文件
gcc -E test.c > test.i