这样学习Unix下C语言编程最有效
推荐 原创zhuyunxiang 博主文章分类:精通Unix下C语言编程与项目 ©著作权
©著作权归作者所有:来自51CTO博客作者zhuyunxiang的原创作品,请联系作者获取转载授权,否则将追究法律责任
精通Unix下C语言编程与项目实践
之前言
作者:朱云翔,胡平
当前软件业开发工具日新月异,从C到C++,从Java到.net,新构架、新组件层出不穷,今天刚学习到的知识,也许明天就已经过时了。要想在激烈的竞争中站稳脚跟,在知识大爆炸中跟上时代的步伐,软件开发者一般会有两种应对方式:
1. 疯狂的学习,每天恶补新知识以适应知识发展的需要。
2. 打牢基础,选择一个相对稳定的平台和相对稳定的开发语言,以不变应万变。
在Unix下C语言编程是一种相对稳定的开发平台下的开发语言,掌握了它,就可以轻松完成当前Unix服务器下疯狂增长的各式各样的功能需求。
在工业领域,Unix的应用范围非常广泛,采用Unix系统的服务器性能更稳定,资源利用率更高,更易于维护。选择Unix编程的理由如下:
当前,银行、电信、证券等大型数据库需求商无一例外的选择了Unix操作系统。固然这里存在设备的原因(这些企业选择的大、中、小型机一般只支持厂家配套的Unix操作系统),但另一方面也与Unix超强性能分不开。
Unix操作系统具有安全、稳定和多用户等多方面的特点,可以充分发挥设备的性能,尤其适用对系统性能、文件I/O吞吐量、并发能力、安全认证、网络吞吐和交易时间等有着极高要求的大型网络服务器和数据库服务器。诸如现今流行的网络游戏,其后台服务器的支持也首选Unix操作系统。
Linux的出现为X86型主机运行Unix成为了可能,也为小型企业提供优质的应用支持方案。运行Linux(或其它支持X86的Unix)的服务器,也被广泛的应用于网站、中小型网络游戏和其它应用系统中。
与Windows的独占性操作系统不同,Unix是分时多用户系统,它允许多人同时登陆主机。共享主机的不同用户之间相互并发,互不影响,就像每个用户都在使用自己单独的主机一样。
Unix的网络终端远程登陆功能为零距离维护提供了可能,维护人员无论何时何地,只要有网络,就可以凭借Unix对TELNET协议或SSH协议的支持,以极少的系统资源消耗登陆主机,真正做到了运筹帷幄之中,决胜千里之外。
Unix下C语言编程的基本思想与普通C语言编程无异,只是加入了大量的系统调用和特殊应用处理,其主要内容如下:
包括Unix文件系统基础知识、标准I/O编程库、Unix文件系统调用库等。
包括时间获取与设置、定时器的使用、信号系统的调用等。
包括进程与线程的系统控制与生命周期,利用进程或线程设计并发程序的方法等。
包括管道和IPC(消息队列、信号量和共享内容等)的系统调用等。
包括SOCKET通讯的各种模式和SOCKET与多进程、多线程的联合并发程序设计的方法等。
包括利用Curses函数库操作网络终端和物理终端的方法,以及Curses库与SOCKET的联合程序设计的方法等。
包括利用数据库提供的API函数和嵌入式SQL直接操作数据库的方法等。
编程是一门细致的工作,对于Unix下C语言编程来说更是如此。无论读者是因为兴趣爱好选择Unix编程,还是由于工作压力被迫选择Unix编程,耐心和细致都是必不可少的;另外熟能生巧是学习知识永远的捷径:
很多第一次接触Unix的读者在编程时,常常有种无从下手的感觉,不是看不懂程序,或者不会编程序,而是不知道该如何进入Unix系统,不知道该如何编辑程序,也不知道该如何编译程序。的确,Unix编程初学者的瓶颈常常不是程序本身,而是诸如安装机器、安装系统软件和shell操作等一系列表面上与编程毫不相关的事务。所以熟练使用Unix的各种操作,可以大大提高Unix的编程效率。
事实上,Unix编程与Unix操作息息相关,初学者可以通过安装操作系统、安装数据库软件、安装文件系统、IPC控制、启停应用软件等各种操作增加自己的对Unix编程的理解。
Unix的基本操作见本书第$1.2小节,或者请查阅相关书籍。
【实践经验】只有真正熟练应用Unix操作系统的开发者才可以真正的理解Unix编程。
眼高手低是人们学习时的特点之一,很多读者可能会遇上这样的疑惑:为什么书上的程序我都看得懂,可实际编程时就是不能灵活应用呢?其实这是一个熟练的过程,将书中的实例运行几次,把书后的习题解答几次,也许你会发现成功驾驭Unix编程不再是虚无飘渺的梦。数学家华罗庚曾经说的“苦战猛攻埋头干,熟练生出百巧来”就是这个道理。
本书的读者可以从以下几个方面实践:
(1) 学习书中实例,并且编译和执行之。
(2) 理解实例,举一反三,,并联系实践,思考实例在实践生产中的应用。
(3) 按部就班完成附录C中的《精通Unix下C语言编程100例》的代码。
【实际经验】虽然随书代码中会附带本书全部实例的源代码,但请读者务手工输入、编译并且执行全部程序。因为:
· 输入代码过程将加深记忆和理解。
· 手工输入过程中肯定会产生一些笔误,导致程序不能编译通过,或者不能正常运行;而对程序调试的过程其实就是一种最好的实践。
· 亲自输入代码并且测试通过,会产生一种成就感,极大地提高学习兴趣。
在实际应用中,存在多种多样的情况,不是书中的实例可以穷尽的。因此读者在学习完一个实例后,可以根据所在企业的实际情况,编写出具有企业特色的实例来,即学习了Unix编程,又提前为实践生产做了准备。
总之,学习Unix编程最重实践,读者请务必亲自调试书中实例,完成书后习题,只有这样才能尽快到达“众里寻他千百度,暮然回首,那人却在灯火阑栅处”的境界。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
《精通Unix下C语言编程与项目实践》封面出版
《精通Unix下C语言编程与项目实践》读书笔记的封面设计出来了,大家快来看啊!
Unix 读书笔记 C 封面 精通Unix笔记 -
Unix编程要学习的内容(2)《精通Unix下C语言与项目实践》读书笔记(12)
Unix系统中总有一些区别于其它操作系统的特色应用,尤其是一些系统调用,包括:
Unix 读书笔记 C 内容 精通Unix笔记 -
提高编程技能最有效的方法(转载)
StackExchange.com上有两个贴子(贴子一,贴子
java c++ 初始化 -
本文帮你在 Unix 下玩转 C 语言
Unix环境编程
C语言 Unix -
操作外设(《精通Unix下C语言编程与项目实践》之四)
本处以ZY506SV密码键盘为实例,讲述外部设备的操作方法。我们首先看看密码键盘的设置命令。
unix C C语言编程 试读 精通Unix -
《精通Unix下C语言编程与项目实践》读书笔记(1)
朱朱胡工作室的创建,从一篇博文开始:博文名称:热烈庆祝《精通Unix下C语言编程与项目实践》出版了博主:编程浪子
Unix 休闲 C 精通Unix笔记 读书笔记 -
UNIX下C语言的图形编程-curses.h函数库
相信您在网路上一定用过如 tin,elm 等工具, 这些软体有项共同的特色, 即他们能利用上下左右等方向键
c语言 编程 图形 unix terminal