列举C++编译器支持的编译环境

开发 后端
C++编译器首选GCC原因有两个,它是GNU开源的,同时它对标准C++的支持度高达96.15%。而VC++6.0的支持度只有83.43%。

C++编译器是一个与标准化C++高度兼容的编译环境,C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用,希望本文能教会你更多东西,在这里拿出来和大家分享一下。

Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake。它们以集成方式提供给最终用户,对于初学者而言十分方便。

但是,这种商业模式,直接导致用户可定制性差,不利于自动化,集成第三方工具的能力弱。例如,无法定制一些宏来处理一些重复操作;体会不到自动化makefile一步到位快感;无法远程登录到服务器上进行开发;无法使用某种”粘合剂”来把第三方工具(例如,文本工具,字符串工具)有效地调用起来。

可以说,良好的商业支持和傻瓜式开发,是它们主要的优点。在linux下,开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如,编辑器(emacs, vim)用来进行编辑程序的,调试器(gdb)用来调试程序,C++编译器和链接程序的,性能分析工具(gcov, gprof)用来优化程序的。#t#

文档生成器(doxygen)用来生成文档的。同时,还有一些系统工具和系统知识,我们是很有必要了解的:程序自动化机制 makefile,系统粘合剂shell,系统查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟练掌握,它们将成为你手中的利器。

本文主要是一些针对LINUX下开发工具使用的经验之谈。由于,工具品种繁多,我们没有能力也没有必要一一介绍。对于LINUX下IDE工具,例如 eclipse, anjuta等,它们虽然也很实用。

但是使用起来比较简单,而且目前还算不上主流。所以,它们将不被着重介绍。同时,本文也不打算写成各个工具的操作手册,只着眼于介绍各个工具的想要解决的问题、运行机理和主要特性。

要进行开发,第一件事情就是选择一个合适的C++编译器。编辑器选择有几个要素:
1)减少不必要的编辑动作,减少编辑的时间。
一切能够无二义性描述出来的编辑任务,都可以而且应该能被自动化。例如,每一个C++程序都会有一个main函数;我们在定义.h文件时,都希望加入一些预处理指令#define来帮我们解决重复引用同一个头文件而带来的麻烦。鼠标操作总是比键盘操作要慢的。这方面EMACS做得可算是到了极致。所以, EMACS用户经常会吹嘘:他们编辑的速度等同于他们思考的速度。
2)可扩展性高。
程序员预期的编辑器应该能提供一些编程的帮助,例如,语法高亮,自动补齐,自动排版,语法检查等等。留心观察一下gedit, vim, emacs, ultraEdit,就会发现它们提供的远不是windows 记事本,写字板提供的那么简陋的功能。对于一种新的语言,新的语法,它们应该能很方便地提供支持,而不停留在一种或几种固定的语言上。
3)用户可定制性高。
如果想长期从事研发, 特别是linux/unix下研发的话,那么你很有必要学好一个功能足够的编辑器。有这么一句话:Linux下程序员分为三种,使用emacs的,使用vi的,还有其它。

EMACS是Stallman用lisp语言写的一个C++编译器。我们这里所说的emacs指的是GNU emacs,而非Xemacs。由于它的开放性,我们可以把它打造成一个功能强大的IDE。我们在安装好CGYwin之后,也可以在Windows系统下使用 EMACS。#t#

CGYwin和MINGW是第三方写的一个在Windows系统上模拟POSIX系统的工具。EMACS与其说的是一个编辑器,倒不如说它是一个操作系统。我们可以用它来写编程,写wiki,收发邮件等等。EMACS主要是通过两种方式来进行扩展:el脚本(elisp是lisp的一种方言)和第三方扩展包。

C++编译器的入门成本很高。由于是纯键盘操作,所以需要记忆大量的快捷键;功能强大是通过用户添加一些扩展包,lisp脚本来实现的。如何正确配置和修改是很需要耐心和技巧的。

责任编辑:chenqingxiang 来源: 天极
相关推荐

2010-10-20 13:43:37

C++编译器

2010-01-18 10:34:21

C++编译器

2010-01-21 09:11:38

C++编译器

2013-03-18 09:42:47

C++C++ 11

2010-01-18 10:28:15

C++编译器

2010-02-03 13:14:03

C++编译器命令

2010-01-14 15:29:44

C++编译器

2014-03-03 10:00:53

编译器集成开发环境

2023-11-15 17:58:58

C++代码

2010-01-21 09:26:53

CC++编译器

2010-01-27 16:39:48

C++编译器

2010-01-27 14:48:55

优秀C++编译器

2010-01-08 16:00:46

C++编译器

2010-01-14 14:55:14

C++编译器

2009-01-12 10:16:11

Visual C++编译器选项设置

2009-08-10 17:12:54

C#编译器

2015-03-23 10:04:43

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

2023-12-07 19:19:21

C++模板代码

2012-02-09 09:14:32

C++

2010-01-22 18:33:17

C++编译器
点赞
收藏

51CTO技术栈公众号