2014年8月11日

摘要: 今天开始,继续来学习linux编程,这次主要是研究下linux下的网络编程,而网络编程中最基本的需从socket编程开始,下面正式开始学习:什么是socket:在学习套接口之前,先要回顾一下Tcp/Ip四层模型:而在说明什么是Socket之前,需要理解下面这些图:而实际上:所以:另外:这跟管道是不同... 阅读全文
posted @ 2014-08-11 22:20 cexo 阅读(1333) 评论(0) 推荐(0)

2014年8月10日

摘要: 继续研究gdb相关的调试技巧,话不多说进入正题:查看运行时数据:这个上节中已经用过了,这里就不多说了,比较简单还是有上节中的simple.c例子,不过得稍微做一些修改为了使用这些命令:simple.c:#include #include long func(int n);int main(int a... 阅读全文
posted @ 2014-08-10 21:55 cexo 阅读(324) 评论(0) 推荐(0)

2014年8月5日

摘要: 对于gdb是什么,这里就不多说了,只要是程序员一般都听说过,像java开发会用到集成开发工具eclipse,里面调试起来非常方便,全是可视化的,但是如果在linux下编写的c程序,用可视化的调试就没这么方便了,这时就得用gdb了,当程序比较大时,在开发肯定会出现很多bug,对于怎么调试这些bug就显... 阅读全文
posted @ 2014-08-05 22:06 cexo 阅读(505) 评论(0) 推荐(0)

2014年8月3日

摘要: 上节中已经对后台作业进行了简单处理,基本上要实现的功能已经完了,下面回过头来,对代码进行一个调整,把写得不好的地方梳理一下,给代码加入适当的注释,这种习惯其实是比较好了,由于在开发的时候时间都比较紧,都只是想办法去尽快实现,而肯定会有一些代码是写得不太好的,所以有时间的话最好是从头至尾将整个代码进行... 阅读全文
posted @ 2014-08-03 15:49 cexo 阅读(668) 评论(0) 推荐(0)

2014年7月22日

摘要: 上节中已经实现了对普通命令的解析,包括输入重定向,输出重定向,管道,后台作业,这次就来执行已经解析好的命令,对应的函数为:execute_command(),首先对带有管道的命令进行执行:比如:"ls | grep init | wc -w"这条命令,有两条管道,其中最后一条命令是不需要管道的:【说... 阅读全文
posted @ 2014-07-22 22:27 cexo 阅读(779) 评论(0) 推荐(0)

2014年7月17日

摘要: 上节minishell当中,已经初步实现了一个简单命令的解析,这节来继续对更加复杂命令进行解析,包含:输入重定向的解析、管道行的解析、输出重定向的解析以及是否有后台作业的解析,如下:下面对其进行实现,上节中实现了对单条命令的解析,如下:这节因为是多条,所以解析命令的实现也得重新开始写,在写之前,先列... 阅读全文
posted @ 2014-07-17 22:26 cexo 阅读(804) 评论(0) 推荐(0)

2014年7月6日

摘要: 之前已经花了不少篇幅学习了linux系统编程的很多知识点:文件与io、进程、信号、管道,而零散的知识点,怎么能够综合的串接起来是学习的一个很重要的目的,当然最好的方式就是用所学的知识点做一个项目了,所以接下来会实现一个小型的迷你shell程序,跟缩减版的系统shell程序,不要看着项目很小,但是五脏... 阅读全文
posted @ 2014-07-06 14:18 cexo 阅读(2335) 评论(0) 推荐(0)

2014年6月25日

摘要: 今天继续对Makefile进行研究,话不多说,进入正题:make常用内嵌函数:下面利用上面的知识点来实现一个多级目录的Makefile,如下:多级目录Makefile:这个例子的目录结构如下:通过一个Makefile来最终生成一个可执行文件main,那该怎么编写呢?会利用make的内联函数,具体写法... 阅读全文
posted @ 2014-06-25 21:58 cexo 阅读(281) 评论(0) 推荐(0)

2014年6月15日

摘要: 上次随着信号学习告一段落,也标志着linux系统编程相关的知识学完了,而学了这么多知识点,是需要用一个综合的项目来将其进行串起来的,这样学习的技术才会不那么空洞,所以接下来会以一个实际例子来综合运用下所学的知识,该知识点就是涉及到linux系统编程,在开始这个项目之前,还得补充一个知识点,因为会用到... 阅读全文
posted @ 2014-06-15 16:32 cexo 阅读(576) 评论(1) 推荐(0)
摘要: 今天继续研究管道的内容,这次主要是研究一下命名管道,以及与之前学过的匿名管道的区别,话不多说,进入正题:所以说,我们要知道命名管道的作用,可以进行毫无关系的两个进程间进行通讯,这是匿名管道所无法实现的。下面来用命令创建一下:用程序来创建:另外管道文件是一种特珠类型的文件,所以不能用vim去像文本文件... 阅读全文
posted @ 2014-06-15 10:42 cexo 阅读(439) 评论(0) 推荐(0)

导航