Linux下c++开发

Linux下c++开发

ID:40559680

大小:22.58 KB

页数:4页

时间:2019-08-04

Linux下c++开发_第1页
Linux下c++开发_第2页
Linux下c++开发_第3页
Linux下c++开发_第4页
资源描述:

《Linux下c++开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、就C++研发工具而言,和Windows下微软(VC,VS2005等)一统天下相比,Linux/Unix下C++研发,可谓五花八门,各式各样。Emacs,vi,eclipse,anjuta,kdevelop等层出不穷。  Windows下,研发工具多以集成研发环境IDE的形式展现给最终用户。例如,VS2005整合了编辑器,宏汇编ml,C/C++编译器cl,资源编译器rc,调试器,文档生成工具,nmake。他们以集成方式提供给最终用户,对于初学者而言十分方便。但是,这种商业模式,直接导致用户可定制性差,不利于自动化,集成第三方工具的能力弱。例如,无法定制一些宏来处理一些重复操作;体会不到自动

2、化makefile一步到位快感;无法远程登录到服务器上进行研发;无法使用某种”粘合剂”来把第三方工具(例如,文本工具,字符串工具)有效地调用起来。能够说,良好的商业支持和傻瓜式研发,是他们主要的长处。  在linux下,研发工具被切割成一个个单独的小工具。各自处理不同的问题。例如,编辑器(emacs,vim)用来进行编辑程式的,调试器(gdb)用来调试程式,编译器(GCC)用来编译和链接程式的,性能分析工具(gcov,gprof)用来优化程式的,文档生成器(doxygen)用来生成文档的。同时,更有一些系统工具和系统知识,我们是很有必要了解的:程式自动化机制makefile,系统粘合剂s

3、hell,系统查找工具grep,locate,find。其他的工具(例如ctags,OCI公司的MPC等等),一旦熟练掌控,他们将成为您手中的利器。  本文主要是一些针对LINUX下研发工具使用的经验之谈。由于,工具品种繁多,我们没有能力也没有必要一一介绍。对于LINUX下IDE工具,例如eclipse,anjuta等,他们虽然也很实用,但是使用起来比较简单,而且现在还算不上主流。所以,他们将不被着重介绍。同时,本文也不打算写成各个工具的操作手册,只着眼于介绍各个工具的想要解决的问题、运行机理和主要特性。  正文  编辑器  要进行研发,第一件事情就是选择一个合适的编辑器。编辑器选择有几

4、个要素:  1)减少不必要的编辑动作,减少编辑的时间。  一切能够无二义性描述出来的编辑任务,都能够而且应该能被自动化。例如,每一个C++程式都会有一个main函数;我们在定义.h文档时,都希望加入一些预处理指令#define来帮我们解决重复引用同一个头文档而带来的麻烦。鼠标操作总是比键盘操作要慢的。这方面EMACS做得可算是到了极致。所以,EMACS用户经常会吹嘘:他们编辑的速度等同于他们思考的速度。  2)可扩展性高。  程式员预期的编辑器应该能提供一些编程的帮助,例如,语法高亮,自动补齐,自动排版,语法检查等等。留心观察一下gedit,vim,emacs,ultraEdit,就会发

5、现他们提供的远不是windows记事本,写字板提供的那么简陋的功能。对于一种新的语言,新的语法,他们应该能很方便地提供支持,而不停留在一种或几种固定的语言上。  3)用户可定制性高。  假如想长期从事研发,特别是linux/unix下研发的话,那么您很有必要学好一个功能足够的编辑器。有这么一句话:Linux下程式员分为三种,使用emacs的,使用vi的,更有其他。  EMACS是Stallman用lisp语言写的一个GPL的编辑器。我们这里所说的emacs指的是GNUemacs,而非Xemacs。由于他的开放性,我们能够把他打造成一个功能强大的IDE。我们在安装好CGYwin之后,也能够

6、在Windows系统下使用EMACS。CGYwin和MINGW是第三方写的一个在Windows系统上模拟POSIX系统的工具。  EMACS和其说的是个编辑器,倒不如说他是个操作系统。我们能够用他来写编程,写wiki,收发邮件等等。EMACS主要是通过两种方式来进行扩展:el脚本(elisp是lisp的一种方言)和第三方扩展包。EMACS的入门成本很高。由于是纯键盘操作,所以需要记忆大量的快捷键;功能强大是通过用户添加一些扩展包,lisp脚本来实现的。怎样正确配置和修改是很需要耐心和技巧的。  编译器  编译器最好选择GCC(GNUCOMPILERCOLLECTION)。原因有两个,他是

7、GNU开源的,同时他对标准C++的支持度高达96.15%。而VC++6.0的支持度只有83.43%。GCC不但是通常意义上的C或C++的编译器,他还能够编译java等其他语言。gcc是gnuc的编译器,g++是gnuc++的编译器,而EGCS(EnhancedGNUCompilerSuite)能够认为是gcc的改进版。  编译语言从源程式到目标代码会经过如下几个阶段:源程式->汇编程式->编译成obj程式->链接成最终可执行程式。我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。