Linux下C++开发系列(二)开发环境的搭建

        介绍下我们公司的系统,对于后台开发,主要的是一些进程类的程序,批量的处理一批数据,业务我就不详细介绍了,举个例子,比如说你参加一个充话费返话费活动,资金都是分月返回给你的,那如何每个月都把这笔钱及时转给你,这个就通过一个C++的进程来实现。之前的系统,也就是我维护的老版本的系统,是跑在一台IBM主机的,通过启动一个或者多个进程,内部在分多线程,来批量处理这批数据。这是早前业界最常用的方式,直到现在,很多金融行业都还是使用这种方式,单台主机的方式在数据量小的时候,看不出什么问题,但是当数据量增大到一定的程度,主机的性能,就会成为瓶颈,因为主机的性能不可能无限制的增加,而数据的增加却是不可预料的,这里面感受最深的应该就是互联网公司,因为互联网公司的数据量增长的太快,原来的IOE(IBM是服务器提供商,Oracle是数据库软件提供商,EMC则是存储设备提供商)架构,不足以满足数据增长,每次技术的进步,都会有需求的推动。所以这才有了云(集群)的概念。我理解的云,其实很简单当然也很片面,就是把一台CPU很强劲的主机才能完成的事情,用10台CPU不太强的主机来做,这样主机性能就能线性扩展,如果10台不够,扩展到20台。自从阿里巴巴提出去IOE化之后,这股风已经刮到了传统行业,比如说金融业,电信行业。我们公司做的是电信行业的项目,新版本的项目,全部使用了X86架构的主机,并且操作系统全部换成了Linux。使用多台X86主机,替换掉了昂贵的IBM小型机。去IOE话,我们也算是迈出了第一步。一般公司的开发环境,都会有相应的开发主机,操作系统和各种软件都会准备好,而个人需要做的就是下载代码,进行编译即可,这里描述的是如果自己搭建开发环境,有那些事情需要做。

  首先是操作系统,一般公司使用的Linux操作系统,包括Sun的solaris,Redhat等,个人如果要开发,需要有一个自己的Linux操作系统,通过虚拟机的方式也好,通过直接硬盘安装的方式也好,看个人需要。我推荐使用的操作系统是CentOs和Ubuntu。CentOs系统是Redhat系统的开源版本,所以一般可以和公司的开发环境保持一致,而Ubuntu系统是一个比较成熟的Linux系统,很多软件安装起来比较方便快捷。我本次介绍是以Ubuntu为例来介绍。关于Ubuntu的虚拟机安装和硬盘安装可以直接问谷歌或者度娘,网上这种资料一抓一大把,比如这个http://www.linuxidc.com/Linux/2012-11/74945.htm ,不再赘述。

      接下来介绍的是C++的编译器,Linux下最著名的C++编译器,应该非g++莫属了,介绍下Ubuntu下g++的安装方式。

     

1
sudo apt-get install g++

      sudo代表使用超级用户,如果你使用的root用户,不必加这个,apt-get 是Ubuntu特有的软件管理方式,你可以使用man来看下这个命令:

1
2
3
4
5
6
APT-GET(8)                            APT                           APT-GET(8)
 
NAME
       apt-get - APT package handling utility -- command-line interface
 
SYNOPSIS

 这里面列出了apt-get 的很多选项,你可以直接输入apt-get 然后按tab键,所有的选项都会列出来,不再一一介绍用法。介绍下apt-get 的源,apt-get的下载源,是配置在系统的配置文件里面的,配置在/etc/apt/source.list里面,下载速度的快慢,取决于下载源的位置,一般系统自己带的数据源都是外国的,可以进行修改(注意使用超级用户,sudo vi /etc/apt/source.list),修改为国内的,比较有名的国内的源是网易的,搜狐的和中科大的,推荐使用网易的:

1
2
3
4
5
6
7
8
9
10
11
12
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse

 g++的最新版本是4.7.3,如果你想要下载其他版本的可以带上版本号:

1
sudo apt-get install g++-4.1

顺带介绍下其他操作系统下的C++编译工具,window下VC,这个不用说,AIX下使用的是xlC_r,其他操作系统还有Sun的solaris,还有Hp的,都是使用的g++。

        安装完编译器之后,还有关注另一个编译工具,就是make。一般大型的C++项目,都会使用makefile来串联起整个工程,关于make工具,Ubuntu本身带有这样的工具,如果没有,也可以使用apt-get install的方式来安装。关于Makefile,有一篇很有名的文章,就是陈皓写的《跟我一起写Makefile》,地址如下:http://blog.csdn.net/haoel/article/details/2886/ 顺便推荐下皓哥的主页http://coolshell.cn/

        开发环境需要安装的另一个工具是svn,很多公司的项目管理,都是使用svn来管理的,安装的命令如下:

sudo apt-get install subversion

  可以使用svn help来查看svn的用法,除了svn以外,我还建议你安装另外一个版本控制软件,就是git,你可以在github上申请一个账户,用来存放你自己的代码和项目。

       如果你们公司的项目还会使用的oracle数据可,那你还需要安装的是oracle的客户端。可以参考下这个http://www.cnblogs.com/joeblackzqq/archive/2011/03/19/1988915.html 

        安装完操作系统和软件,接下来就需要进行环境变量的配置。这个问题放到下一章讨论。

Linux下C++开发系列(二)开发环境的搭建,布布扣,bubuko.com

Linux下C++开发系列(二)开发环境的搭建

上一篇:2013级C++第5周(春)项目——用构造函数初始化


下一篇:C++中float类型的存储