linux下GNU、G++编辑器的安装及基本使用

来源:互联网 发布:五星宏辉软件 编辑:程序博客网 时间:2024/05/21 09:36

一:GNU

GNU是“GNU ‘s Not Unix”的递归缩写, Stallman宣布GNU应当发音为Guh-NOO(革奴)以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同),为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。这个就是被称为“反版权”(或称Copyleft)的概念,GUN可以理解为一种linux规范。

二:g++

概念:

都知道,在Linux平台下,有gcc和g++编辑器最常见,g++编辑器也支持c++标准。

linux下c++的编译器,在执行编译工作的时候,其实总共需要4步,分别是:

1> 预处理,生成.i的文件

2> 将预处理后的文件不转换成汇编语言,生成文件.s

3> 有汇编变为目标代码(机器代码)生成.o的文件

4> 连接目标代码,生成可执行程序

软件的安装:

注意:如果安装过程中提示需要选择编译器版本,可根据当前硬件平台选择最新发布的版

本,如果提示需要安装其他相关软件包,也要一并安装。

g++ 编译c++经常使用的参数总结:

  -c             只进行预处理、编译和汇编,生成.o文件 -C             预处理时不删除注释信息,常与-E同时使用 -o              指定目标名称,常与-c、-S同时使用,默认是.out -s              只进行预处理和编译,生成.s文件 -E              只进行预处理,产生预处理后的结果到标准输出-shared       生成动态库文件,例如: g++ -shared hellp.cpp -o libhello.so -include file         插入一个文件,功能等同源代码中的#include-g                编译器编译时加入debug信息-I                 附加一个包函头文件的路径。例如:g++ helloworld.cpp -I"/usr/helloworld/include"-Iname       链接后缀为.out的动态链接库来编译程序

linux下文件的类型是不依赖于其后缀名的,但一般来讲:
.o,是目标文件 相当于windows中的.obj文件
.so 为共享库 是shared object,用于动态连接的,和dll差不多
.a为静态库 是好多个.o合在一起,用于静态连接
.la为libtool自动生成的一些共享库 主要记录了一些配置信息。

原创粉丝点击