随笔分类 - ACE
摘要:服务器程序经常需要在命令行中显示错误消息、状态或者用来跟踪程序的执行路径,最简单的方法是使用printf。ACE提供了更强大日志设施:1、可以在编译时启用或禁用宏;2、可以动态的启用或禁用宏;3、支持日志严重级别;4、支持日志重定向;5、支持多线程安全和线程级配置;使用ACE的日志相关功能,需要引入...
阅读全文
摘要:ACE服务端编程系列的第三篇,探究ACE解决不同编译器之间分配堆内存的差异。在ACE的官方示例中会看到大量的ACE_NEW_RETURN,ACE_NEW这样的宏,这是ACE为了消除不同编译器编译的代码在堆上分配内存失败的行为差异。具体来说:使用 malloc/calloc 等分配内存的函数时,一定要...
阅读全文
摘要:ACE网络库的主要优势之一就是跨平台,ACE提供了操作系统API和编译器级别的跨平台解决方法,使开发人员不用再去关心操作系统和编译器的差异,但因此也带来了ACE的复杂性。ACE网络库的组织结构主要分为四层:OS适配层、wrapper facade层、框架层、服务层,其中OS适配层为操作系统API提供...
阅读全文
摘要:ACE是一个跨平台的用于并发通信的C++框架,项目开始时使用的是ACE 5.6发布版,目前最新的ACE版本是6.3.0。网上一直有一种黑ACE的氛围,主要黑点在于ACE的复杂和作者的背景,结合实际应用的经验来说,ACE还是C++里最成熟、稳定、全面的网络通信框架,看看有多少论文是与ACE有关的就能验...
阅读全文