BOA代码笔记 1

本文是关于Boa HTTP服务器的代码笔记,首先介绍了作者为何研究Boa源码,接着重点分析了Makefile的内容和Boa.c中main函数的初始化部分,包括umask设置、错误处理机制以及getopt选项处理。同时探讨了chdir和chroot在安全编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开头废几句话


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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值