debian Linux下可以选用两种编译工具来编译C++源程序了。第一个工具是g++,第二个工具是gcc

比如针对以下简单的C++源程序,在debian之上分别用gccg++编译。

 

vi  hello.cpp [ C++源文件在linux下的后缀为.C或者.cpp ]

 

Figure1:简单C++源程序

 不管是g++还是gcc,都可以在linux shell界面内使用apt-get update后,apt-ge install g++(gcc)命令来安装。

1.用g++编译C++源程序

g++的用法跟gcc差不多。在linux下,查看”g++--help”g++的用法为:

g++ [options] C++file…

options表示用g++编译C++file时所用的参数,常用的参数及含义如下:‘

Figure2g++编译C++源文件参数

现用g++编译以上段的C++源程序,让可执行文件为hello

g++ hello.cpp –o hello

然后在当前目录下就会生成C++源文件hello.cpp对应的可执行文件hello,执行hello

./hello

执行结果:

Hello World!

 

2.用gcc编译C++源程序

gcc编译C++源程序时,gcc不会自动去链接C++库。gcc需要使用-l参数去链接C++的库文件。其余用法都跟g++一样。一样可以在linux shell界面下使用“gcc –help”查看gcc的用法。

gcc hello.cpp –o hello –lstdc++

使用以上的命令得到的结果跟g++直接编译C++源文件一致。

LinuxC++库的命名规则为“前缀+库名+后缀”,前缀一般为lib,库名在不同的库下有不同的名字,后缀为.so+版本号。关于gcc编译C++源程序连接库的规律:前缀缩写+库名

如在linux下用到一个名为libstdc++.so的库,则gcc需要加的连接参数为-lstdc++。系统将根据被简写前缀和省掉的后缀名字自动替换成C++库的名字。

 

此时gcc可以用cc命令代替,g++可以用c++命令代替。

 

此次笔记记录完毕。

Logo

更多推荐