文化建设网站,网站做树状结构有什么作用,顺德做网站shundeit,济南网站建设大标网络转自#xff1a;g以及gcc的区别 - 知乎
GCC #xff0c;gcc 和g#xff1a;
一直没搞清这几个东西的概念#xff0c;搜了半天看到了一个不错的解释#xff0c;所以大致记录一下#xff0c;以免以后再忘记#xff0c;链接。#xff08;原谅没找到原文出处#xff09;…转自g以及gcc的区别 - 知乎
GCC gcc 和g
一直没搞清这几个东西的概念搜了半天看到了一个不错的解释所以大致记录一下以免以后再忘记链接。原谅没找到原文出处
GCC:GNU Compiler Collection(GUN 编译器集合)它可以编译C、C、JAVA、Fortran、Pascal、Object-C等语言。
gcc是GCC中的GUN C CompilerC 编译器
g是GCC中的GUN C CompilerC编译器 由于编译器是可以更换的所以gcc不仅仅可以编译C文件
所以更准确的说法是gcc调用了C compiler而g调用了C compiler
gcc和g的主要区别
1. 对于 *.c和*.cpp文件gcc分别当做c和cpp文件编译c和cpp的语法强度是不一样的
2. 对于 *.c和*.cpp文件g则统一当做cpp文件编译
3. 使用g编译文件时g会自动链接标准库STL而gcc不会自动链接STL
4. gcc在编译C文件时可使用的预定义宏是比较少的
5. gcc在编译cpp文件时/g在编译c文件和cpp文件时这时候gcc和g调用的都是cpp文件的编译器会加入一些额外的宏。
6.在用gcc编译c文件时为了能够使用STL需要加参数 –lstdc 但这并不代表 gcc –lstdc 和 g等价它们的区别不仅仅是这个。 编译工具套件提供的各个命令作用 - Compiler 编译程序gcc/g/cc 用来编译源代码文件通常通过 gcc 调用 g 或 cc 命令 - Assemblers 汇编程序编译汇编程序通常通过 gcc 调用 as 命令 - Linkers 链接程序用来链接编译输出的目标文件生成可执行程序通常通过 gcc 调用 ld 命令还有 ar 命令生成链接库 GCC 编译套件不仅支持 C/C支持各种 C/C 方言标准还支持 Go 或 Object-C/C 等并且支持 x86、x86_64、ARM 等多种 CPU 架构。提供 gcc 命令相当于一个门户它本身就是 C 语言编译器并且通过它可以调用整个编译流程中会使用到的各种命令。它可以识别各种 C/C 源文件的扩展名并将相应参数传给相应的命令如果是 C 源代码则执行 g 命令。 另外cc 是 Unix 系统的 C Compiler一个是古老的 C 编译器命令。Linux 的 cc 一般是一个符号连接指向 gcc可以通过 ls -l /usr/bin/cc 来查看。 注意直接使用 g 编译 C 语言源代码会被当作 C 源代码处理。 例如 1.只进行预编译不生成汇编程序、目标文件和可执行程序只需要执行命令时使用 -E 2.编译 C 语言为汇编程序不生成目标文件和可执行程序只需要执行命令时使用 -S