开头废几句话
Boa不多介绍了,wiki上说的比我好。
之所以写这么个东西
1 因为兴趣,想看看别人源代码。
2 看linux0.11版源代码看到字符设备、文件系统的地方比较费劲,又不想跳过……憋了一肚子热情先发泄在boa上吧!
3 正在做的某项目弄的博主头昏脑涨,不妨换换思路
与Unix网络编程相关的,基于linux c编程,不涉及图形界面的,代码量很小。
--------------------------------------------------------------------------------------------------------------------------------------------------
这只是本人的笔记,并没想完整的分析整个boa架构,虽然也许最后会总结一下。
因此不能面面俱到,up主还只是刚开学的大三学生,以学习简单的linux下编程技巧、编程经验为主,高手觉着理解肤浅或者不对的话请尽情指出。
鸣谢强大的google、百度!
--------------------------------------------------------------------------------------------------------------------------------------------------
Makefile
忘了哪本书上说,看项目先看Makefile。
不过一般的开源项目Makefile还真是看不了。回想其他的大部分开源代码,那些自动生成的Makefile。。。可真是受不了。。。我一直就怀疑那些是是不是人写的,后来知道还真不是。
boa的Makefile写的相当小,一共不到100行,但是常见的基本框架和风格还是有的,可以借鉴一下用在自己的Makefile里。
因为极其短,我就贴一下吧。
# Generated automatically from Makefile.in by configure.
# $Id: Makefile.in,v 1.59 2002/03/24 22:20:19 jnelson Exp $
# 说实话下边这两个.SUFIXES我不知道啥意思。.PHONY是定义为伪目标。
.SUFFIXES:
.SUFFIXES: .o .c
.PHONY: clean mrclean distclean depend all dist
# 这么多的FLAGS我就只见过-Wall = =。而且整个Makefile我只看到这一处定义了GCC_FLAGS,没看到使用,是make隐含调用的么?
GCC_FLAGS = -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wcast-qual\
-Wtraditional\
-Wshadow\
-Wconversion\
-Waggregate-return\
-Wmissing-prototypes