那些年我们踩过的坑之ACE篇

  最近做一个视频存储服务器。通信模块有几个选择:自己封装IOCP,libevent boost::aio ,ACE。

最终还是选择了大名鼎鼎的ACE。结果就是噩梦从此开始了。

ACE主要分为3层:OS适配层,wrapper facde层,框架层。

OS适配层。封装了藏用的操作系统函数。

wrapper facede层,封装了很多类,使用起来更加方便。

框架层。集成了各个wrpper facade类,提供半完成品应用。

今天就说说使用OS适配层的函数遇到的坑吧。哥哥使用ACE_OS::fopen 打开文件,然后就各种崩溃 各种非法访问内存。检测File指针不为NULL啊。各种纠结各种无助。最后把所有ACE_OS::fopen改为fopen_s,呵呵。正常了。。。操蛋啊。。。。

你可能感兴趣的:(那些年我们踩过的坑之ACE篇)