本帖最后由 Jack 于 2010-12-22 22:17 编辑
好久没上这了, asio这块好久了一直都没人气啊, 虽然我一直忽悠大家使用, 但是很多人还是放弃. 原因多数人是因为它需要一个庞大的boost库, 对于boost库, 很多人好像表现出非常排斥, 但其实后来我发现asio官方也有非boost版的发布, 而且一直在作维护. 后来又听说非boost版的asio也需要搭配上boost, 是的, 在非boost的asio中确实引用了boost库的一些小库, 具体也不记得是哪几个了, 反正就是有.
我觉得仔细看看官方文档, 应该是有说明的, boost里提供了一个叫作bcp的工具, 可以从boost库里提取部分小库出来, 这样就可以让asio也独立出来了.
具体怎么做? 其实我也没作过, 不懂装懂, 贴几个boost文档里的命令行先
bcp.exe --boost=d:\boost_1_45_0 shared_ptr d:\out
回车, 就会看到在d:\out(这个文件夹一般需要先创建, 否则可能出错), 就可以看到shared_ptr相关的文件都到这里了, shared_ptr就被从boost中分离出来了. 如果是regex那么regex连同它依赖的库一起被分离出来到out文件夹成为一个独立的部分.
有了这个, 就可以很方便的把asio里一些依赖的boost小库分离出来和asio一起,组成一个独立的non-boost asio库.
bcp这个小工具在一些不能用boost的项目中, 可是剥离boost的一些小库出来还是很不错的,毕竟手工去剥离不是好的做法.
bcp小工具的编译也非常简单,$boost_root$\tools\bcp目录下执行bjam.exe就生成在$boost_root$\bin.v2\tools\bcp的子子...目录下.
好了, 希望这贴子能帮到有需要的朋友. |