GCC
安装查看版本使用方式GCC工作流程GCC常用参数选项gcc和g++的区别
GCC安装GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)
sudo apt install gcc g++查看版本
gcc/g++ -v/--version使用方式
可以通过xshell连接Linux服务器使用也可以在vs code中打开终端使用,vs code中打开方式如下
gcc test.c -o test //编译成可执行文件 ./test //执行GCC工作流程
预处理器:加载头文件、宏替换、删除注释 GCC常用参数选项
| gcc编译选项 | 说明 |
|---|---|
| -E | 预处理指定的源文件,不进行编译 |
| -S | 编译指定的源文件,但是不进行汇编 |
| -c | 编译、汇编指定的源文件,但是不进行链接 |
| -o [file1] [file2] /[file2] -o [file1] | 将文件file2编译成可执行文件file1 |
| -I directory | 指定include包含文件的搜索目录 |
| -g | 在编译的时候,生成调试信息,该程序可以被调试器调试 |
| -D | 在程序编译的时候,指定一个宏 |
| -w | 不生成任何警告信息 |
| -Wall | 生成所有警告信息 |
关于-D的用法
#includeint main() { printf("hello , myfriendn"); #ifdef TT printf("测试使用n"); #endif return 0; }
如上代码,正常情况下“测试使用”是不会输出的。
使用宏的情况,如下:
后缀为.c的,gcc把它当作是c程序,g++把它当作是c++程序后缀为.cpp的,两者都会认为是c++程序编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是gcc命令不能自动和c++程序使用的库链接,所以通常用g++来完成链接。链接可以用g++或者gcc -lstdc++
说明: 参考视频https://www.nowcoder.com/study/live/504



