美文网首页C语言好爽Web前端之路让前端飞
轻松理解C语言相关的编译器gcc和g++

轻松理解C语言相关的编译器gcc和g++

作者: acd8eef1b5d7 | 来源:发表于2017-06-02 18:58 被阅读110次

很多人使用了很久的C语言,但是对gcc,gcc-c++,g++这些还是比较模糊。试着在百度上找一下,到处都是同一篇文章在转来转去,里面也写的比较抽象。我这里先总结一下本人的理解然后用试验来描述一下。

先总结的来看:

1:gcc可以用来编译C语言和C++:但是gcc只能链接C库,不能链接C++库;

2:g++可以链接C++库,但是它是通过调用gcc来编译,因此:它也可以编译C和C++,但它能编译的条件是要先存在gcc。

所以通常:如果只有C语言程序,就只要安装gcc即可搞定,因为它既可以编译C,也可以链接C库,所以可以最终生成二进制程序。

如果有C++程序,那么gcc不能链接C++库,所以还需要加个g++来链接C++库。

结论:

只有C程序,就只要gcc(它不能链接C++库,所以最终生成不了二进制可执行程序)

如果有C++程序,就要gcc和g++一起(因为g++要调用gcc来编译)。

-------------------------------查看过程:

以下使用的环境是Centos 6.5 32位:

测试时间:2017年6月2日 16:40

gcc-c++可以看成是g++.exe(windows下的理解方式)的包名,也就是gcc-c++内含g++.exe;

查看安装了的:

或者(yum 安装的是rpm包,也可以用rpm包的查看方式):

现在写个C++程序:

使用vim编辑器:

查看一下:

因为gcc链接不了C++库,所以一通的undefined:

也没有结果生成:

改用g++来弄:

可见:g++就可以了(编译的时候g++会调用gcc来编译【gcc可以编译c和c++】,链接的时候用g++来连接)。

运行,看到打印东西了:

现在弄个C语言:

使用vim编辑器:

保存后查看源代码:

一开始只有:

使用gcc编译(它可以编译C并链接C库)

可见,成功生成了a.out

执行a.out

因为C程序中没有换行,所以这里输出自然没换行,但这就是对了。

相关文章

  • 轻松理解C语言相关的编译器gcc和g++

    很多人使用了很久的C语言,但是对gcc,gcc-c++,g++这些还是比较模糊。试着在百度上找一下,到处都是同一篇...

  • OJ中的语言选项里G++ 与 C++的区别

    本文非原创。概念上:C++是一门计算机编程语言,而G++则是C++的编译器。 GCC和G++都是GUN的编译器,c...

  • GCC CC Clang Make

    CC是UNIX上的C语言编译器,收费GCC是linux上的C语言编译器,免费,G++是C++的;为避免UNIX上的...

  • GCC/G++编译过程

    1. gcc/g++简介 gcc / g++分别是GNU的c & c++编译器,常用于在Linux下编译C/C++...

  • gcc参数详解

    gcc 与 g++ 分别是 gnu 的 c & c++ 编译器 gcc/g++ 在执行编译工作的时候,总共需要4步...

  • 使用VS code配置c++环境

    gcc: C语言编译器 g++: C++编译器 gdb: 执行器 下载MinGW64 网盘分享地址如下 离线下载包...

  • 使用VS code配置c++环境

    gcc: C语言编译器 g++: C++编译器 gdb: 执行器 下载MinGW64 网盘分享地址如下 离线下载包...

  • g++

    gcc / g++分别是gnu的c / c++编译器, gcc/g++在执行编译工作的时候,总共需要4步: 预处理...

  • gcc编译选项总结

    引子 gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步1...

  • 每日总结-第二十二天-gcc

    编译流程 gcc、g++分别是gnu的c、c++编译器,gcc/g++在执行编译工作的时候,总共需要4步: 预处理...

网友评论

    本文标题:轻松理解C语言相关的编译器gcc和g++

    本文链接:https://www.haomeiwen.com/subject/tcbufxtx.html