在Linux系统上运用强大的C/C++编译器

开发 后端
Linux中最重要的软件开发工具是 GCC.GCC是 GNU的 C和 C++编译器很强大的C/C++编译器,通过编译器可以编译连接C++源程序。

上回在编译过程中,发现C++编译器是一个很强大的C/C++编译器,该编译以速度快、空间效率高为他的特点,它的版本对标准化C++的支持达92.73%,大大的支持了CPU优化工作。

如果你有两个或少数几个C 源文件,也可以方便地利用GCC 编译、连接并生成可执行文件。例如,假设你有两个源文件 main.c 和 factorial.c两个源文件,现在要编译生成一个计算阶乘的程序。

清单 main.c

  1. #include   
  2. #include   
  3. int factorial (int n);  
  4. int main (int argc, char **argv)  
  5. {  
  6. int n;  
  7. if (argc < 2) {  
  8. printf ("Usage: %s n ", argv [0]);  
  9. return -1;  
  10. }  
  11. else {  
  12. n = atoi (argv[1]);  
  13. printf ("Factorial of %d is %d. ", n, factorial (n));  
  14. }  
  15. return 0;  
  16. }  

GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。

但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。假设我们有一个如下的 C++ 源文件(hello.C):

  1. #include   
  2. void main (void)  
  3. {  
  4.  cout << "Hello, world!" << endl;  

则可以如下调用 g++ 命令编译、连接并生成可执行文件:

  1. $ g++ -o hello hello.C   
  2. $ ./hello   
  3. Hello, world!   

其它的编译器如:Intel C/C++大家一看名称就知道是Intel的东西,它和VC6完全兼容,不过要挂在VC6下才能用。Watcom C/C++是早先编译器四国大战中的一员,原本是很不错的东西,可惜战略不对,现在已不见声息了。倒是以它为基础的一个OpenWatcom现在还在奋战。

VectorC是我近日才发现的一个好东东,它是个纯C的编译器。IBM的VisualAge for C++原本是IBM想用来淌强大的C/C++编译器这片浑水的东西,不过IBM的战略改了,它就被放弃了。DigitalMars C/C++的前身的Symantec C++(它也是编译器四国大战中的一员),不过现在Symantec不做了。

于是它的作者就把它改成了DigitalMars C/C++开放给大家使用。以上这些都是WIN32平台上的东西。KAI C/C++是个很强大的C/C++编译器,它是个多平台的编译器。不过现在被INTEL收购了,已经停止开发了。Lcc4.1是个纯C的编译器它是开放源代码的。

不过不怎么好用。LCC-WIN32是一个在LCC基础上开发的C语言的集成开发环境,很好用,而且有很详细的资料,FREE!Pacific C是一个纯DOS的C的集成开发环境,就不多说了。Small C CC386都是开放源代码的强大的C/C++编译器,它们都很简单。应用来给大家学习编译器的。Quincy Eic CINT都是C的解释器,是用来让大家学习C语言的其中CINT的功能很强大,还支持一些C++的特性。

【编辑推荐】

  1. C与C++中标准输入实现方式上的一点区别
  2. C++编译器如何对Const常量进行分配存储空间
  3. C++类库设计的基本构思与方法
  4. 玩转C++语言的几种方法
  5. 如何更好的进行C++代码编制
责任编辑:chenqingxiang 来源: 人民邮电出版社
相关推荐

2010-10-20 13:43:37

C++编译器

2010-01-18 10:34:21

C++编译器

2010-01-21 09:11:38

C++编译器

2010-01-18 10:28:15

C++编译器

2010-01-12 16:42:59

C++编译器

2010-01-27 14:48:55

优秀C++编译器

2010-01-21 09:26:53

CC++编译器

2010-02-03 13:14:03

C++编译器命令

2010-01-14 15:29:44

C++编译器

2013-03-18 09:42:47

C++C++ 11

2010-01-08 16:00:46

C++编译器

2010-01-27 16:39:48

C++编译器

2010-01-14 14:55:14

C++编译器

2009-01-12 10:16:11

Visual C++编译器选项设置

2010-06-04 17:37:45

Linux编程工具

2015-03-23 10:04:43

c++编译器c++实现原理总结

2023-12-07 19:19:21

C++模板代码

2023-11-15 17:58:58

C++代码

2014-03-03 10:00:53

编译器集成开发环境

2012-02-09 09:14:32

C++
点赞
收藏

51CTO技术栈公众号