注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

多多的爹

 
 
 

日志

 
 

读程序,学习Linux编程(一)  

2010-08-07 21:56:21|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1. 前言

去年的这个时候,去一家小公司面试。面试的人很直接的问我,会不会做http代理服务器程序。我哪会这个啊,虽然大概原理知道,但还真没写过。回来后,在sourceforge上找到一个叫tinyproxy的项目,这是一个http代理的程序,用C语言写的,运行于Linux下面。当时为了搞懂这个代理程序到底是怎么回事,花了不少时间研究Linux下的应用程序是怎么写的。

一年多过去了,整理以前的代码,发现了硬盘角落的这个小项目,一时感叹不已。这个程序虽小,但五脏俱全,作为学习Linux编程的入门教程,非常有效。因此,我希望把我当初对Linux从一无所知到初窥门道的过程写下来,让看到这篇文章的朋友也有所帮助,同时自己也能温故知新。

说实话,我到现在为止在Linux上的工作经验还是0,要说能写出一个深入浅出,全面俱到的教程,太难为我了。我只是把学习过程中的点点滴滴记录下来,有编程方面,有认识方面的,还有学习使用Linux方面的经验。很杂,很乱。但我相信,很多人看完了《unix编程实践教程》这本书,还是不知道如何下手写程序;很多人看完了《跟我一起写Makefile》,还是不会写Makefile。没有一个教程,会将这么东西都融合起来,让生手找到一条进入的小道。

下面列出了一个简单的目录,我暂时想到这些,以后写到哪想到哪,会添加一些。争取每天写一个小节吧。有些小节内容会多一些,有些会少一些。但不管多少,都是我遇到过的问题。有些能讲清楚的,我有个人体会的,会把自己的想法记下来。还有些题目太宏大,我相信讲不清楚的,会把推荐书目列出来。

 

2. 准备工作

2.1. Linux环境

2.2. 终端

2.3. vim

2.4. gcc

2.5. man

2.6. 了解tinyproxy

2.7. 编译软件

2.8. 使用软件

 

3. 学习编程

3.1. Tinyproxy的工作原理

3.2. 使用ctags

3.3. 找到main函数

3.4. 编译宏

3.5. exit和return

3.6. 分析参数

3.7. 输出日志

3.8. fopen,fclose,fwrite,fread

3.9. stdin,stdout,stderr

3.10. 精灵程序

3.11. fork

3.12. exec家庭函数

3.13. 实际用户,有效用户,组属性

3.14. 信号处理

3.15. 目录操作

3.16. 文件属性

3.17. 进程互斥

3.18. 文件操作属性

3.19. 网络编程

3.20. 进程池

3.21. 关闭子进程

3.22. 文件链接

3.23. 环境变量

3.24. HTTP概述

3.25. 使用wireshark

  评论这张
 
阅读(5)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017