扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一、序言
说到编程,大家肯定会想到许许多多,例如Visual C++、Visual Basic、Delphi、PowerBuild、java、perl、asp等等。现在的程员们早已习惯了可视化的编程工具,习惯在“向导”的带领下step by step地编程。在一个象WORD一样的环境下轻松敲入源码,有人为你校对,有人提醒你的代码是否错误,完成后,轻轻点击菜单中的“编译”,就可以生成可执行程序了。甚至于,可以画出用户界面来,用一些“巫师”程序生成基本的程序框架,然后根据需要加以修改,就完成了程序。
我想这就是在Windows环境下的程序员所享受的生活。而Linux世界却是另一个世界,一切都显得是那样的原始、古朴、原汁原味。一定会勾起了那些从DOS世界、或更早的世界中走出来的程序员对往事的回忆。那些来自UNIX世界的程序员都会感到无比的亲切。
在操作系统这一舞台上,最活跃的是两大派系:Windows系列和UNIX系列。Windows是著名的Microsoft赖以文明的力作,以优秀图形界面完成人机交互,早已带着比尔盖茨“让电脑走进每个人的桌面”的愿望风靡全球,成为个人/桌面操作系统的首选。而UNIX则是具有悠久历史的操作系统,它以健壮、可靠,以及高深的人机交互语言著称,现在仍然是服务器操作系统的首选。
所以,Windows给程序员带来礼物就是---可视化的编程!一切都像在用WORD!而UNIX则以神鬼莫测的姿态现身于程序员之前。
“黑客”,这个名称,应该是您耳熟能详的吧!其实,黑客有好有坏,好的叫黑客,是对电脑系统有强烈兴趣的高人,以发现系统漏洞为乐,以钻研系统为趣的一群品德高尚的人;而坏的叫骇客,是以破坏电脑系统为乐的人,这些人的道德品质极为低下,让人不耻,是程序员中的败类。
Windows一面以最友好的界面展现给程序员,但却严格限制程序员对其透彻研究,装自己用华丽的外表包装起来了。而UNIX则一直以真面目示人,神秘、费解,而内心是对刻苦者敞开的。黑客大多就是UNIX系统下的这些刻苦者。
当你决定给我一起走进linux编程世界时,你一定牢记,从此你开始考古了,鼓起勇气向自己挑战,不惧怕麻烦、枯燥。
二、Linux下的编程环境
在Linux系统的程序设计中,有一些重要特性要特别注意:
1.Linux是多任务的。可以同时创建多个进程或者线程。绝不能认为自己的程序是系统唯一运实例;同一个用户或者不同的用户可以运行该程序的其他实例。因此,在某些情况下必须小心对待同步的问题。
2.Linux是个真正的多用户系统。这就意味着存在某种安全机制,以确保把不同用户的文件隔开。用户的程序不能像在其他操作系统中那样,可以修改或者移动任何文件,除非他是root。
3.Linux有分时机制。分时的意思是允许多个用户同时登录,或者一个用户登录多次。用户可以使用诸如telnet或者X技术远程登录。因些必须知道你的程序可能同时被许多用户使用。
Linux系统中提供了许许多多的编程工具,包括:
1.编辑工具:在Linux下编程,你不再拥有集成化环境,你可以使用类似于EDIT的工具---经典的vi来编辑源程序。当然,还有更高档一些的,如joe、emacs等。总之,编辑程序与编译工作是分开的。
2.编译工具:在Linux下支持大量的语言,有C、C++、Java、Pascal、Fortran、COBOL等等。在本讲义中以C/C++语言为主。在使用这些编译工具时,是使用命令行方式的,也就是说,你先用编辑工具输入源程序,然后再执行一长串的命令(参数比较复杂)进行编译。例如:gcc –o hello hello.c 就是将hello.c编译为hello,然后你还需要为其赋予可执行的权限,这样你才完成了整个工作。
3.软件工具:一个大型软件总是由多个源程序组成的,为了能够将大量的编译命令作一次完成,Linux中提供了make各autoconf工具,分别用于大型软件的编译,和编译前根据机器当前状态作相应配置。
4.开发工具包:在Linux下提供了优秀的GNU C库函数、Motif函数库、GTK函数库、QT函数库等为你的编程提供大量的支持。
5.项目管理工具:在Linux下还有CVS这样优秀的用于版本控制、管理的软件配置管理工具。
而且,Linux作为一个自由软件,同时来提供了大量的自由软件,这些自由软件不仅可执行文件自由,而且源程序也自由。你可以通过研习这些优秀的源码来提高自己的编程技艺。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者