GCC 是 GNU 编译器集合(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 并与位于 /user/local/math 中的静态库 libmath.a 链接到输出文件 execfile:
$ gcc -static myfile.c -L/user/local/math -lmath -o execfile
以优化方式编译 myfile.c 并链接到输出文件 execfile:
$ gcc -O myfile.c -o execfile
我们所有内容来源于rapidtables.com,遗憾于其没有中文版本,因此建立中文版供网民使用,所有内容版权属于rapidtables.