`
kongweile
  • 浏览: 523206 次
  • 性别: 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语言编程与项目实践"这一主题之前,让我们先明确一下C语言和UNIX操作系统的关系。C语言是一种强大的、低级的、结构化的编程语言,由Dennis Ritchie在贝尔实验室开发,它为UNIX操作系统奠定了...

    精通Unix下C语言编程与项目实践-源代码.rar

    学习这门课程时,应先理解Unix的基本命令和工具,然后逐步学习C语言的基础知识,再结合源代码进行实践。通过阅读书籍,理解每个项目的目标和实现方式,接着在Unix终端中编译、运行并调试代码。同时,理解错误信息并...

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

    在UNIX环境下学习C语言,不仅可以理解操作系统的底层工作原理,还能提高编程效率和代码质量。 "精通UNIX下C语言编程"这个主题涵盖了以下几个主要知识点: 1. **C语言基础**:包括变量、数据类型、运算符、控制结构...

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

    学习 Unix 编程需要耐心和细致,对于 Unix 下 C 语言编程来说尤其如此。为了快速学习 Unix 编程,可以通过以下方法: 1. 勤操作,熟练 Unix 应用,通过安装操作系统、安装数据库软件、安装文件系统、IPC 控制、启停...

    UNIX下C语言编程

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

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

    在深入探讨Unix下C语言编程与项目实践...总之,这个名为"UNIXCcode"的压缩包提供了一个宝贵的资源,让学习者可以在实践中学习Unix下的C语言编程,通过深入理解和应用这些例程,有助于成长为一名合格的Unix系统开发者。

    Unix平台下C语言编程

    在Unix平台下进行C语言编程是一项基础且至关重要的技能,特别是在系统级开发和软件工程领域。Unix操作系统以其稳定性、高效性和灵活性而闻名,是许多专业程序员首选的工作环境。本资源旨在帮助开发者深入理解和掌握...

    [Unix编程环境]The.unix.programming.envirment中文版

    在学习UNIX和C语言的过程中,实际操作和动手编程同样重要。本书鼓励读者在计算机上实践所学知识,并尝试对书中的实例进行改进,以此来巩固理论知识,并提升编程技能。这种学习方法在现代的编程教育中仍然非常受推崇...

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

    通过深入学习和实践上述知识点,你将能够驾驭Unix平台上的C语言高级编程,创作出高效、稳定且具有高度可维护性的软件。这份"Unix平台下C语言高级编程指南"将是你宝贵的参考资料,帮助你在编程之路上不断前行。

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

    UNIX系统以其稳定性和强大的系统编程接口闻名,对于学习C语言的程序员来说,这是一个理想的环境。下面将深入讨论相关知识点。 1. **UNIX系统基础**:在UNIX系统中,一切皆为文件,包括硬件设备和进程。这使得C语言...

    UNIX下C语言编程与实例

    在UNIX操作系统中,...通过学习和实践这些内容,开发者可以深入理解UNIX系统的工作原理,熟练掌握在UNIX环境下使用C语言进行系统级编程的技能。从实例中学习,可以帮助我们更好地理解和应用这些知识,提升编程能力。

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

    在深入探讨"精通UNIX下C语言编程与项目实践"这一主题之前,让我们先明确一下UNIX和C语言在IT领域的核心地位。UNIX操作系统是计算机科学历史上的一个里程碑,它以其高效、稳定和强大的系统编程能力而闻名。C语言,...

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

    通过深入理解和实践这些知识点,开发者能够在UNIX平台上编写出高效、稳定的C语言程序,并能充分利用UNIX系统的强大功能。这本“UNIX平台下C语言高级编程指南”将帮助你系统地学习并掌握这些技能。

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

    总之,“UNIX平台下C语言高级编程指南”这本书是深入学习UNIX系统编程的宝贵资源,它将帮助开发者掌握C语言在UNIX环境中的高级应用,提升编程技能,从而能够编写出更高效、更稳定的系统级程序。通过阅读和实践书中的...

    达内课程 unix系统下c语言课程

    通过“达内课程 Unix系统下C语言课程”,学员不仅可以掌握C语言的基本语法和编程技巧,还能了解到Unix系统的特点,学会如何在Unix环境下进行高效、稳定的C语言编程,为未来的系统级开发或网络编程打下坚实基础。

    精通UNIX下C语言编程与项目实践+源代码+笔记.zip_C语言项目linux_Linux/Unix编程_Linux下的c语言开

    通过分析和修改这些代码,学习者可以深入理解如何在UNIX环境中高效地使用C语言。 在Linux环境下,由于两者有许多相似之处,上述知识点同样适用。但Linux还引入了一些特有的功能,如`systemd`服务管理,`glibc`库的...

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

    在深入探讨Unix下C语言编程与项目实践的相关知识点之前,我们先明确一下C语言和Unix操作系统之间的紧密联系。C语言是Unix系统的核心,由Dennis Ritchie在20世纪70年代开发,它以其简洁、高效和强大的系统编程能力而...

Global site tag (gtag.js) - Google Analytics