您的位置:首页 > 理论基础 > 计算机网络

C开发CGI以及sqlite数据库http://www.liniu.cn/post/c-cgi-sqlite.html

2008-02-29 22:28 309 查看
台湾的地震把海底光缆弄断了,现在上外国网几乎连不上。blogger也连不上,load下来一个title就不动了。还好Gmail可以用,可以用来发布blog,不过我的blog网站在国内blogger的服务器能发布进来么?天知道。

这几天在写C程序,很多资料都要到国外站点查,现在全都不能查了,郁闷。现在在用C写CGI,其实C很强大的。完成的CGI的也不比perl复杂,主要就是C的字符处理函数比较弱,不过可以用第三方的库来支援。我现在用的就是CGIC这个库,很小只有一个头文件和一个C文件,可以很方便的处理表单。数据库用的是sqlite,这里不得不重点提一下sqlite数据库,这是一个轻量级的数据库,从名字上就看的出来,lite的sql。但是功能一点都不lite。按 官方网站上的说法(国内也有相应的站点),它的特点是:易于管理,易于使用,易于嵌入其他大型程序,易于维护和配置 作为数据库引擎SQLite适用于中小规模流量的网站(也就是说, 99.9%的网站). SQLite可以处理多少网站流量在于网站的数据库有多大的压力. 通常来说, 如果一个网站的点击率少于100000次/天的话, SQLite是可以正常运行的. 100000次/天是一个保守的估计, 不是一个准确的上限. 事实证明, 即使是10倍的上述流量的情况下SQLite依然可以正常运行. 感觉上做网站用Sqlite是再好不过的了。轻量级,很好移植。到官方主页下载源码,用gcc编译。然后就可以调用了。使用下来感觉到几个比较好的地方:1) sql语句支持类似ADO.NET中command这样的东东,可以支持?这样的通配符,通配符变量,在后面赋值,这样C语言就不必做字符串的链接了,好处不言而喻,因为C语言处理字符很麻烦,要防止溢出,分配内存什么的。这里我就不举例子了,后面会把我用C写的CGI程序代码公开。2)分页非常方便,web程序分页经常用到,分页是个大问题。sqlite支持这样的语法select * from table limit a offset b ,这里limit后面就是要返回的记录数目,offset是偏置,就是从那里开始查询,是不是非常好,即简单,有高效,每次查询只查需要的记录,而不会查询所有的记录。3)就是非常好移植,C语言调用静态库的话,无需任何依赖,目标代码在web服务器上就可以运行了。 说了这么多sqlite的好处,总结一下C语言写CGI要用到的几个比较好的库,
1.CGIC,ANSI C的CGI库 http://www.boutell.com/cgic/
2.Sqlite,ANSI C的小型数据库 http://www.sqlite.org
3.GD库,C语言的 图形库 http://www.boutellcom/gd/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐