c++写fcgi程序的一套装备


c写web程序的套件就不用选了,自己造吧.
c++还有用别家套件的可能,有OO血统么.
目前手上用的这套如下:

web层: fcgi+cgicc, 用于解析http的get/post/cookie/header/file, 产生response. apr那套对c++不友好

mysql: mysql++, libmysqlclient的封装, 还是蛮完善和成熟的; 胜过mysql官方的connector/c++

json: 从www.json.org去看, 能用的没几个, json_spirit虽然依赖boost, 但就成熟度和完善来说, 得选它. 还有个tinyjson看起来很酷, 现在配合boost1.38+, 编都编不过去了.

memcache: 就libmemcached了, 搞个简单的c++封装就ok了

logging: 有log4cpp(历史最悠久), log4cplusplus(最近又一春), log4cxx(log4j系列, 依赖apr, 刚稳定)可用, 不是太久就是太重太丑. boost系的最优美, logging系列俩选择, 一个是被拒了n次的torjo.com的v2, 一个是rc3版的sourceforge.net/projects/boost-log, 前者作者的主页写了句"Yesterday, I did 1K+ lines of code, and there were no bugs", 那就别用这个了, 看起来自闭狂妄. 用rc3都比它靠谱.

configuration: boost's program_options够用了

map/set/vector/string/smart_ptr等常用数据结构: boost能让c++代码像java一样, 内存管理很轻松, 各种collection(c++中的container)非侵入, 可以不用define, 可以用class/pattern, 还有hashmap和hashset的实现.

结:
相比java程序员, c/c++程序员真的很惨, 不光干活儿多受累, 而且成长期非常长, 又没有标准答案.
所幸这个世界上的问题也还有很多是没有标准模式的.

你可能感兴趣的:(C++,c,json,mysql,C#)