GCC与G++
来源:互联网 发布:126邮箱 smtp端口 编辑:程序博客网 时间:2024/05/16 08:51
经常会有人把 GCC和G++搞混淆,这里澄清一下。
GCC 原名为 GNU C 语言编译器(GNU C Compiler),只能处理 C语言。GCC 很快地扩展,变得可处理 C++、Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。
GCC适合所有操作系统:如Linux、BSD、Mac OS X、Windows(MinGW不如微软自己的高效,Minimalist GNUfor Windows)。
后缀为 .c 的,gcc 把它当作是 C 程序,而 g++ 当作是 C++ 程序;
后缀为.cpp的,两者都会认为是 C++程序;
编译的三个阶段,g++ 会调用 gcc,对于 C++ 代码,两者是等价的,
而链接可以用 g++ 或者 gcc -lstdc++。
因为 gcc 命令不能自动和 C++ 库链接(需要加选项),所以通常使用 g++ 来完成链接。
编译的三个阶段为:
第一阶段,预处理
主要处理源文件中的#ifdef、#include和#define预处理命令。该阶段会生成一个中间文件*.i
$ gcc -E hello.c -o hello.i
它通过对源文件hello.c使用E选项来生成中间文件hello.i
第二阶段,生成汇编
生成汇编语言文件hello.s
$ gcc-s hello.i -o hello.s
第三阶段,生成二进制机器代码
$ gcc -c hello.s-o hello.o
阅读全文
0 0
- 关于gcc与g++
- 关于gcc与g++
- gcc与g++
- gcc与g++
- gcc与g++
- GCC与G++
- gcc与g++
- gcc 与 g++
- g++与gcc
- gcc 与 g++
- gcc与g++区别
- gcc与g++区别
- gcc与g++
- gcc与g++
- gcc与g++测试
- 编译器 g++与gcc
- gcc与g++区别
- gcc与g++
- Android开发中isTaskRoot方法的使用情景
- Android如何下载网络图片
- Async/await和promise
- 程序员应具备的素质
- 美团多渠道快速打包
- GCC与G++
- hibernate之表关系中的多对多
- MongoDB学习笔记(2)
- MySQL的聚集索引和非聚集索引
- recycleview三种布局
- REST API 安全设计指南
- PHP中substr截取中文乱码解决方案
- 初识tensorflow
- 如何使用Jdbc和Servlet操作Mysql数据库,编写Android登录注册服务端?