gcc和cc区别
cc源自UNIX, 意为c compiler。
gcc源自Linux,意为GNU compiler collection,是编译器集合。
参考:https://www.cnblogs.com/zhouyinhui/archive/2010/02/01/1661078.html
gcc用法
gcc [options] [filenames]
命令 | 说明 | 参考 |
---|---|---|
-E | 仅执行编译预处理 | gcc -E main.c -o main.i |
-c | 只编译不输出,生成.o文件 | gcc -c main.c |
-o | 指定生成输出文件 | gcc main.c -o main |
-S | 将C语言转换成汇编语言 | gcc -S main.c |
-O | 优化编译,编译速度慢 | |
-I | 向 gcc 的头文件搜索路径中添加新的目录。 | |
-L | 如果使用了不在标准位置的库文件,那么可以通过 -L 选项向 gcc 的库文件搜索路径中添加新的目录。 | |
-l | 用 -l 选项指定链接的库文件名时可以省去 lib 这3个字母 | |
-v | 输出 gcc 工作的详细过程 | |
–target-help | 显示目前所用的gcc支持CPU类型 | |
-Q | 显示编译过程的统计数据和每一个函数名 | |
-O2 | 比-O更好的优化编译 | |
-g | 产生符号调试工具 | |
-pedantic | 当gcc在编译不符合ANSI/ISO C 语言标准的源代码时,将产生相应的警告信息 | |
-Wall | 使 gcc 产生尽可能多的警告信息。 | |
-Werror | 将所有的警告当成错误进行处理 | |
-Wcast-align | 要求内存对齐 | |
-static | 强制使用静态链接库。 | |
-shared | 生成一个共享的目标文件,它能够与其他的目标一起链接生成一个可执行的文件 | |
-save-temps | 保存编译过程中生成的一些列中间文件。 |