gcc概述
gcc英文全名为,早期的gcc编译器主要用于C语言编译,但是经过几十年的发展,gcc编译器可以用于多种语言的编译,例如C++、Go等目前较为主流的语言。熟悉gcc编译器是对于我们开发C/C++程序的底层基本功,虽然目前各厂商的开发IDE已经非常智能,从某种程度上已经把程序员从底层代码的编译、部署等工作解放出来,但是如果需要开发大型C++项目或者对于编译过程进行优化,那么gcc编译器是需要进行了解和深入的。
gcc构成
gcc本身作为编译器是依赖与众多模块、组件一起完成编译任务,并且gcc本身也会需要一些其他软件进行协同工作。这里概念上容易混淆,组件/模块可以认为是程序本身生成过程依赖的其他库(这句话仅做举例,不够严谨),例如我们在C语言中如果需要执行输入输出则需要引入文件是一样的。而依赖其他软件则是说我们可能在C语言中使用数据库,但是数据库本身是不需要我们进行实现的,引入数据库就是引入其他软件进行协同工作。
部分组件库如下
组件 | 功能 |
---|---|
c++ | gcc 的一个版木,默认语言设置为 C++,而且在连接的时候自动包含标准 C++ 库。 |
ccl | C编译程序 |
cclplus | C++ 编泽程序 |
gcc | 执行编译程序和连接程序以产生需要的输出 |
libstdc++ | 运行时库,包括定义为标准语言一部分的所有的 C++ 类和函数 |
gcc和g++区别
实际上,只要是gcc编译器支持的语言都可以使用gcc编译器完成编译,而g++编译器只会按照C++的风格编译代码。虽然很多情况下我们都认为C++是对C语言兼容的,但是实际上在一些具体的语法规则上,C++在编译过程中的语法检查会更加严格。此外,C++语言本身在编译 过程中也会引入C++的标准库,如果使用gcc编译器直接编译C++语言会在编译过程中添加额外的参数,这样会显得编译过程较为繁琐(因为大部分情况下我们希望标准库可以直接引入,而不是再需要手动指定,否则对于初级使用者会带来额外的学习负担)。为了更方便使用编译器,我们选择g++来编译C++代码。总结一下,gcc可以完成C++语言的编译,但是使用过程会较为繁琐,而g++就是简化后的编译指令。
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树C语言概述C语言发展史113106 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!