`
kongweile
  • 浏览: 507900 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

学习Unix和C语言

 
阅读更多

1、学习Unix和C语言,先向大家推荐一本书《Unix高级环境编程》,这本书是学习Unix和C的经典之作,尽量把书中提到的系统调用都写个练习程序,先感性的认识一下Linux系统提供给用户的系统调用都是干什么的,怎么用。

系统调用是内核提供给用户的功能用以申请内核服务,对于Linux内核的学习,从系统调用入手是个不错的办法。学习过程可以参看Linux的联机帮助,和网络上的资料。当你觉得差不多了的时候,那我给大家出一道联系题目吧:实现一个ftp服务器和客户端的功能,完全可以自己定义一些应用层的协议,只要能实现用简单的命令传输文件就可以了。
这个题目可以使你练习到TCP/IP的基本编程方法和文件操作的基本方法对于后面学习内核的文件系统会有帮助的。

2、当你对Unix系统有了些了解后,同时对于大部分的系统调用(关键是关于文件的系统调用,对于Linux系统的内核来说从文件系统入手相对容易一些)也有了清楚的认识后,再推荐你一本书《Linux内核情景分析》,该书是关于Linux内核的经典之作唯一美中不足的是没有关于网络子系统的详细介绍。

你可以从文件系统的系统调用入手,慢慢的你就会对Linux有了一个更深入的认识。同时注意很多经典的方法和思想在Linux中的运用。你会认识到为什么Unix把所有的东西都看成文件,对什么东西操作都是对文件操作,你会慢慢体会到Unix的经典之处了。

3、当你对Linux内核有了些了解后,你就可以找个方向来专门发展了,如果你想对眼下流行的网络编程感兴趣,那么再推荐你一本书《TCP/IP详细解释》,这本书是关于TCP/IP协议的经典之作。你会学习到TCP/IP协议栈是如果实现的,为什么,各层协议之间是如何工作的。你看完了这本书后,你就可以自己写一个dos攻击程序和sniffer了。

我说的简单,其实我提到的每本书至少都够你研究很长时间的,所以希望初学者别着急不骄不躁,相信只要努力过,一定会成为高手的。

在写代码的时候大家要注意养成好的代码习惯和风格还有抽象能力。
下面给出大家在写代码的时候的20字方针:

函数要小
1、尽量的把函数弄的通用点,代码行少点,一个函数只完成一个简单的功能,一眼就能看出来此函数有没有代码错误,每个函数都是健壮的,那么你的程序就是健壮的。
2、代码要少 完成一个功能的时候在逻辑清楚的情况下代码越少越好,千万不要比代码谁写的多啊。
3、算法要好 在完成一个功能的时候要考虑效率,目前计算机的内存很大,所以内存已经不是首要考虑的因素了,但是在某些特殊的地方效率还是很重要的。有效率高的算法,就不用效率低的算法,看看本版有一篇精华贴子是关于把一个字符窜两边的空格去掉的帖子(trim),很多人都提出了算法,但是有一个算法是最好的,效率最高,代码最少,是算法要好的最好体现。
4、命名要清 命名要清楚,最要用汉语中的谓宾结构如set_buffsize()。
5、文件要多 尽量把一个大的程序安功能分成多个文件,一个文件尽量不要超作1000行,这样就很清楚的知道那个文件代码是健壮的,那个文件有可能有隐患,在代码检查的时候可以有针对性的检查某几个文件。

分享到:
评论

相关推荐

    精通Unix下C语言编程与项目实践

    《精通UNIX下C语言编程与项目实践》从实用的角度出发,深入浅出地对UNIX环境下C语言编程进行全面分析和介绍。《精通UNIX下C语言编程与项目实践》共分为6个部分,详尽而细致地介绍了UNIX环境下的编程概念、文件系统...

    Unix 下 C语言开发

    Unix 下 C语言开发,方便以后的学习与发展。大概介绍。请多指教

    UNIX下C语言编程

    学习linux之前首先得掌握其前身,unix是linux发展的原型,学好编写linux应用程序才可以更加深入地学习驱动,了解linux内核

    这样学习Unix下C语言编程最有效.doc

    介绍在Unix学习C编程的最有效的方法,不错的

    精通UNIX下C语言编程与项目实践源码与笔记

    能快速的帮助初学者学习UNIX下的C语言编程,帮助初学者快速的进入服务器开发的大门。

    Unix和Linux下C语言学习指南

    本文不介绍作为一个程序员应掌握得语言细节,而是与初学者分享自己的UNIX下C语言编程学习经验。文中列出了笔者学习C语言编程常常用到的软件和工具,介绍一些自己学习C语言使用过的书籍。介绍了编程是一个实践性很强...

    精通UNIX下C语言

    深入浅出地对UNIX环境下C语言编程进行全面分析和介绍。本书共分为6个部分,详尽而细致地介绍了UNIX环境下的编程概念、文件系统设计、进程与线程设计、信号量处理、进程间通信处理、网络编程及数据库编程等多方面的...

    UNIX平台下C语言高级编程指南.pdf

    UNIX C语言 编程 包括:多线程等几乎涵盖了全部的UNIX C语言编程的知识,希望大家共同学习 不求多要分,评价奉献

    Unix平台下的C语言高级编程指南

    一般介绍unix下用C语言编程的好书,同时也是一本学习unix编程和系统原理的好书。

    Unix和Linux下C语言学习指南.docx

    Unix和Linux下C语言学习指南.docx

    C语言学习工程和C语言项目.zip

    由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到...

    精通UNIX下C语言编程与项目实践

    本书从实用的角度出发,深入浅出地对unix环境下c语言编程进行全面分析和介绍。本书共分为6个部分,详尽而细致地介绍了unix环境下的编程概念、文件系统设计、进程与线程设计、信号量处理、进程间通信处理、网络编程及...

    关于C语言的学习代码和C语言的刷题代码.zip

    由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到...

    C语言学习资料 电子书

     早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计...

    UNIX 环境下的C语言编程

    UNIX 环境下的C语言编程,适合学习

    unix环境下的C语言编程

    unix环境下的C语言编程一直是想学习unix的同学的一个难点,这里整理了一点东西,希望对你有用

    c语言学习记录,见证我的c语言学习.zip

    由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到...

    学习C语言,并且运用C语言编写程序.zip

    由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到...

    应该怎样学习C语言?

    我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎...

    C语言学习,语言学习.zip

    由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到...

Global site tag (gtag.js) - Google Analytics