GCC是GNU Compiler Collection(Linux的C编译器)的缩写。
$ gcc [options] [source files] [object files] [-o output file]
GCC主要选项:
选项 | 描述 |
---|---|
gcc -c | 无需链接即可将源文件编译为目标文件 |
gcc -Dname[=value] | 定义预处理器宏 |
gcc -fPIC | 为共享库生成位置无关的代码 |
gcc -glevel | 生成调试信息以供GDB使用 |
gcc -Idir | 添加头文件的包含目录 |
gcc -llib | 与库文件链接 |
gcc -Ldir | 在目录中查找库文件 |
gcc -o output file | 将构建输出写入输出文件 |
gcc -Olevel | 优化代码大小和执行时间 |
gcc -shared | 生成共享库的共享对象文件 |
gcc -Uname | 取消定义预处理器宏 |
gcc -w | 禁用所有警告消息 |
gcc -Wall | 启用所有警告消息 |
gcc -Wextra | 启用额外的警告消息 |
编译file1.c和file2.c并链接到输出文件execfile:
$ gcc file1.c file2.c -o execfile
运行输出文件execfile:
$ ./execfile
无需链接即可编译file1.c和file2.c:
$ gcc -c file1.c file2.c
使用调试信息编译myfile.c并链接到输出文件execfile:
$ gcc -g myfile.c -o execfile
在启用警告消息的情况下编译myfile.c并链接到输出文件execfile:
$ gcc -Wall myfile.c -o execfile
编译myfile.c文件与和链接与静态库libmath.a位于/用户/本地/数学到输出文件的execfile:
$ gcc -static myfile.c -L/user/local/math -lmath -o execfile
通过优化编译myfile.c并链接到输出文件execfile:
$ gcc -O myfile.c -o execfile