Linux教程:如何在Linux下进行C++开发?

Linux是一类Unix计算机操作系统的统称,Linux操作系统的内核的名字也是“Linux”, 在Linux下进行C++开发,需要注意许多问题,比如:减少不必要的编辑动作,减少编辑的时间。

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

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

  在Linux下,C++开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如,编辑器(emacs, vim)用来进行编辑程序的,调试器(gdb)用来调试程序,编译器(GCC)用来编译和链接程序的,性能分析工具(gcov, gprof)用来优化程序的,文档生成器(doxygen)用来生成文档的。

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

  本文主要是一些针对Linux下开发工具使用的经验之谈。由于,工具品种繁多,我们没有能力也没有必要一一介绍。对于Linux下IDE工具,例如 eclipse, anjuta等,它们虽然也很实用,但是使用起来比较简单,而且目前还算不上主流。所以,它们将不被着重介绍。

  同时,本文也不打算写成各个工具的操作手册,只着眼于介绍各个工具的想要解决的问题、运行机理和主要特性。

  要进行开发,第一件事情就是选择一个合适的编辑器。编辑器选择有几个要素:

1)减少不必要的编辑动作,减少编辑的时间。一切能够无二义性描述出来的编辑任务,都可以而且应该能被自动化。

  例如,每一个C++开发都会有一个main函数;我们在定义.h文件时,都希望加入一些预处理指令#define来帮我们解决重复引用同一个头文件而带来的麻烦。鼠标操作总是比键盘操作要慢的。这方面EMACS做得可算是到了极致。所以, EMACS用户经常会吹嘘:他们编辑的速度等同于他们思考的速度。

  2)可扩展性高。程序员预期的编辑器应该能提供一些编程的帮助,例如,语法高亮,自动补齐,自动排版,语法检查等等。

  留心观察一下gedit, vim, emacs, ultraEdit,就会发现它们提供的远不是windows 记事本,写字板提供的那么简陋的功能。对于一种新的语言,新的语法,它们应该能很方便地提供支持,而不停留在一种或几种固定的语言上。

  3)用户可定制性高。如果想长期从事研发, 特别是Linux/unix下研发的话,那么你很有必要学好一个功能足够的编辑器。

  有这么一句话:Linux下程序员分为三种,使用emacs的,使用vi的,还有其它。EMACS是Stallman用lisp语言写的一个GPL的编辑器。我们这里所说的emacs指的是GNU emacs,而非Xemacs。

  由于它的开放性,我们可以把它打造成一个功能强大的IDE。我们在安装好CGYwin之后,也可以在Windows系统下使用 EMACS。CGYwin和MINGW是第三方写的一个在Windows系统上模拟POSIX系统的工具。

  EMACS与其说的是一个编辑器,倒不如说它是一个操作系统。我们可以用它来写编程,写wiki,收发邮件等等。C++开发主要是通过两种方式来进行扩展:el脚本(elisp是lisp的一种方言)和第三方扩展包。EMACS的入门成本很高。

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

Linux教程:如何在Linux下进行C++开发?

时间: 2024-11-08 22:27:30

Linux教程:如何在Linux下进行C++开发?的相关文章

【Linux】如何在Linux上安装使用SSH

SSH是什么? Secure Shell 安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄露问题 SSH客户端适用于多种平台 SSH服务端几乎支持所有UNIX平台 如何Linux上安装SSH服务 需要注意的是,网上购买的云服务器,默认已经安装好了SSH服务,可以不用安装. 安装SSH:yum install openssh-server (会将服务端和客户端都安装,如果已安装会提示Nothing to do) 启动S

Kali Linux 教程 之 Kali Linux 更新源

把kali的软件源写进了ubunt的软件源 第一步 (此源为1.0版本,不适用于现在2.0版)阿里云Kali源为: deb http://mirrors.aliyun.com/kali kali main non-free contrib deb-src http://mirrors.aliyun.com/kali kali main non-free contrib deb http://mirrors.aliyun.com/kali-security kali/updates main co

如何在windows下的Python开发工具IDLE里安装其他模块?

以安装Httplib2模块为例 1 下载模块 到 “https://code.google.com/p/httplib2/” 下载一款适合你的压缩包“httplib2-0.4.0.zip”这个应该没有了 已转到GitHub:https://github.com/jcgregorio/httplib2 https://pypi.python.org/pypi/httplib2#downloads这里有"httplib2-0.9.zip"和"httplib2-0.9.tar.gz

如何在windows下的Python开发工具IDLE里安装其他模块

以安装Httplib2模块为例 1 下载模块 到 “https://code.google.com/p/httplib2/” 下载一款适合你的压缩包“httplib2-0.4.0.zip” 2 解压下载的压缩包“httplib2-0.4.0.zip”到某目录下 3配置python在dos下的运行环境 (之前需要配置系统环境变量,在系统环境变量Path后添加python安装目录,例如c:\python2.7) 4 dos下安装httpLib2模块 进入httplib2-0.4.0.zip的解压目录

如何在ubuntu下安装go开发环境

原文在这 https://www.howtoing.com/how-to-build-go-from-source-on-ubuntu-16-04/ 之前安装go一直都是用的1.8版本. 最近用go1.8发现minio开源项目存在unit test编译问题.需要用到go 1.7才行. 但是用go 1.7出现time的测试失败. 没有办法.但是又没有权限git clone https://go.googlesource.com/go 只能手动修改src/time/time_test.go文件 参考

Windows下Ionic Android开发环境搭建

转自 http://www.itwap.net/ArticleContent.aspx?id=26 来源: itwap.net 作者: 词略 时间: 2015-4-2 16:57:28 (一)Ionic简单介绍:   首先,Ionic是什么. Ionic是一款基于PhoneGap及AngularJS开发Hybrid/Web APP的前端框架,类似的其他框架有:Intel XDK等. 简单来说就是可以将你的Web应用打包发布成IOS/Android APP,并且提供了PhoneGap之外很多强大的

Ionic简单接触:Windows下Ionic Android开发环境搭建

(一)Ionic简单介绍:   首先,Ionic是什么. Ionic是一款基于PhoneGap及AngularJS开发Hybrid/Web APP的前端框架,类似的其他框架有:Intel XDK等. 简单来说就是可以将你的Web应用打包发布成IOS/Android APP,并且提供了PhoneGap之外很多强大的服务和新的特性. 听起来还是很诱人的,事实上这也是目前最火的一中Hybrid APP开发方式.接下来介绍如何在Windows下搭建Ionic开发环境. 在开始之前我假设你已经了解了如下概

如何在Linux桌面环境下自动启动程序?

转自:http://os.51cto.com/art/201401/426464.htm 有时候,当你登录进入到Linux桌面后,可能想自动启动某个程序.这类启动程序在你登录进入到桌面后,可以进行面向整个系统的配置(比如自动代理),或者针对特定用户的桌面定制(比如Conky). 大多数Linux桌面环境有各自的图形用户界面(GUI),让用户可以配置针对特定用户的自动启动程序或服务. 我在本教程中将介绍如何在各种Linux桌面环境下,自动启动某个程序. GNOME桌面环境 在终端中运行这个命令,启

如何在Linux下禁用IPv6

如何在Linux下禁用IPv6 echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6                            禁用IPv6(包括回环接口) echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6                     禁用IPv6(默认) vim /etc/sysctl.conf