《UNIX环境高级编程》笔记:前言

为什么要学UNIX编程的理由很多很多,只说我身上的吧。和Windows不一样,大部分UNIX类操作系统是免费的,而且被专门设计来做服务器。当今大大小小各种公司,绝大部分服务器上都是用的UNIX类操作系统。所以如果你要做服务器端程序开发,学习UNIX编程是必经之路。而且,现在中国政府非常重视网络安全,不开源不能审查的Windows8以上操作系统基本已经被排除在政府采购名单之外,这给其他开源操作系统提供了一个很好的机会。而UNIX,正是这些开源操作系统中的老大,正规点说是行业标准。

我认识到这两点之后,学习UNIX编程就顺理成章了。而且因为开源,UNIX程序员更容易接触到系统底层知识,从而有更广阔的能力提升空间。


UNIX编程入门要稍微难一些,因为编程之前首先要搭建操作系统和编译环境。UNIX系统中没有Visual Studio那样功能超强的IDE,虽然也有比较强的IDE,但UNIX的文化是使用命令行来操作(这个文化和服务器的功能密切相关),所以我们也最好养成使用命令行的习惯。这不是个人喜好的问题,而是业务需求方面的问题。


环境搭建我大致讲一下,细节可以在网上查找相关资料。

1. 操作系统:在免费UNIX系统中,CentOS是目前在服务器上用得最多的(官方网站:http://www.centos.org/)。如果没有多余机器安装CentOS,可以选择一款虚拟机软件,在目前的系统中模拟出CentOS系统。虚拟机软件中最好的是vmWare workstation,但这个是收费的。免费的有oracle公司的virtual box,这个也不错,拿来学习操作系统完全够用(官方网站:https://www.virtualbox.org/)。安装CentOS时建议选择最小安装。

2. 主机间通信工具:一般来说新系统安装会在另一台机器或虚拟机里面,日常工作生活还是用原来的机器。这样就会面对两台机器间通信的问题,最典型的场景就是在日常使用的机器上编写代码,然后传到新机器里编译运行。解决这个问题的工具就是SSH(安全外壳协议)和围绕该协议的一系列工具。通过这些工具,我们可以在两台机器之间传递文件、从客户机远程登陆服务端,在同样的界面用同样的方式远程操作服务端。CentOS最小安装自带SSH服务端,而Windows客户端工具建议使用winscp(官方网站:http://winscp.net/eng/index.php)。

3. 编译环境:搭建编译环境非常简单,比Windows下简单得多,只要键入下面一条命令就够了:

yum install gcc-c++

将单个cpp文件编译成可执行文件也很简单:

g++ -o test test.cpp

成功后,执行编译好的文件:

./test

然而,难点在于包含大量源文件的项目的编译。要掌握这点,就要花点时间看看makefile的用法了(国人有一篇《跟我一起写 Makefile》,很不错)。


到现在为止,环境已搭建完成,该正式开始我们的学习之旅了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值