红联Linux门户
Linux帮助

Advanced Linux Programming 学习

发布时间:2008-09-02 11:30:31来源:红联作者:lfuture
这本书是英文的,主要讲解的是Linux下的C语言编程,对于理解操作系统的基本原理是很有帮助的。

首先,这本书介绍了在Linux下利用Make来对大型的软件项目进行管理,简单的介绍了一下Make的使用方法以及GCC的一些参数和选项。

GCC的选项和参数都可以从GCC的参考文档里面查到,另外,要学会写Make的话,还必须会使用一些基本的SHELL脚本,这个是必须的。

个人觉得,学好这个,对于今后的发展是很有帮助的,比如吧,JAVA下的Ant就是仿照Make来实现的。

我现在体会比较深的一点就是,在一个文档里面可以设定几个基本的变量来代替一个路径,另外还有几个系统预定的变量,这个是不能使用的。Make的规则的基本格式就是:

Target:Dependencies

Rule:XXXXXX

这个跟Ant是一致的所以,个人觉得这个学习起来肯定会互相有助于理解的。但是现在条件不是很允许的就是,没有大型的项目让我来做,并且考研压力很大,所以我目前的任务就是对这些有一个从原理上有一个基本的了解为今后大好基础,也对于从原理上来学习操作系统有点帮助吧。另外,一个公认的事实就是,要想成为C语言的高手,必须学习Linux下的C语言编程,对于学习C编程是很有帮助的,因为Linux是世界各地最优秀的程序员的精华的体现。

关于Make我以后会另外写一个博客,跟Ant一块写出来,我只能是提纲挈领,不能很详细。

接下来第三章,就从最基本的进程开始介绍。

我们在Linux下有ps这条Shell命令来查看系统的进程的。其实Linux也提供了一些系统调用,用于查询本进程的ID以及父进程的ID,这两个系统调用分别是getpid()和getppid()。

在Linux下要创建一个进程,可以使用的方法如下:

1.使用system这个函数,system这个函数其实是ANSI的标准实现。它接收一个字符串,返回一个整数,运行的时候,system函数创建一个子进程,在Shell 解释器里面运行。

2.使用fork和exec函数对。

跟Windows下的spawn函数系列一样的。

其中,fork的作用就是创建一个跟当前进程一模一样的子进程,创建一个Copy。exec在作用就是让创建的子进程去运行某些需要的代码,一般都是一些子函数。在这里,创建进程比创建线程要简单一些,不过进程之间的关系比较复杂,他们之间的一些资源什么的,还是比较烦的。另外还有一点要注意的就是,fork也好exec也好,都是一个函数系列,不只是有一个函数。

还有一大片内容就是关于进程之间的关系以及进程之间一些简单的通信的,这个在Windows下我还不太理解,但是Windows下的窗口之间的通信了解了一点,但是不是很清楚。
文章评论

共有 2 条评论

  1. LiuCan007 于 2010-01-22 19:28:52发表:

    我来顶

  2. 774964107 于 2009-08-08 21:14:44发表:

    怎么没有人来顶呀?