gcc编译器参数
一、什么是GCC?
GCC(GNU Compiler Collection)即GNU编译器套件,属于一种编程语言编译器。其原名也为GCC(GNU C Compiler),虽然缩写一样但是仅可编译C语言,后来经过发展才变成支持编译多语言。GCC的初衷是为GNU操作系统专门编写的一款编译器,原本的GNU是专用于编译C代码,现如今已扩展为可以编译C、C++、Java、Objective-C等多种编程语言的编译器集合了。
二、GCC、gcc、g++三者有何关系?
gcc(GUN C Compiler)是GCC中的c编译器,而**g++**(GUN C++ Compiler)是GCC中的c++编译器。
gcc和g++两者都可以编译c和cpp文件,但存在差异。
gcc在编译cpp时语法按照c来编译但默认不能链接到c++的库(gcc默认链接c库,g++默认链接c++库)。
g++编译.c和.cpp文件都统一按cpp的语法规则来编译。
一般编译c用gcc,**编译c++用g++**。
三、GCC编译步骤
GCC广义上的编译流程可分为以下四个部分:
- 预处理(Pre-Processing)
- 编译(Compiling)
- 汇编(Assembling)
- 链接(Linking)
四、文件类型
- .c/.cpp:源文件
- .h:头文件
- .o:编译以后得到的目标文件(object)
- .a:静态链接库,可看作若干个目标文件的集合
- .so:动态链接库(共享库)
- .d:源文件的依赖关系的完整规则
五、gcc 参数
浅显易懂的GCC使用教程——初级篇_gcc -ddebug-CSDN博客
GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(gcc -fPIC -shared)的创建和使用_c++ 链接 -l-CSDN博客