随笔分类 -  ACE

摘要:在ACE的源代码目录里,有源文件.cpp、头文件.h,我们还发现有以.i和.inl为扩展名的文件。其实,以.i和.inl为扩展名的文件是ACE源码中inline函数的存放形式。 在说明ACE中为什么采用这种方式来存放inline函数之前,我们来说一下inline关键字是什么意识。我们知道当调用一个函 阅读全文
posted @ 2018-07-26 17:21 鸭子船长 阅读(318) 评论(0) 推荐(0) 编辑
摘要:变量截断工具是将类型A变量赋予类型B变量时使用,可自行判断变量是否需要截断,并且自动进行类型转换。 其全部为c实现 其入口为: ACE_Utils::truncate_cast<int> (val) 其中判断函数实现为: 如果FROM类型小于等于TO类型,则直接进入Noop_Truncator,也就 阅读全文
posted @ 2018-07-20 17:15 鸭子船长 阅读(355) 评论(0) 推荐(0) 编辑
摘要:对于不同类型的变量,这里定义了其最大最小值来提供给ACE_Utils等使用 阅读全文
posted @ 2018-07-20 17:02 鸭子船长 阅读(379) 评论(0) 推荐(0) 编辑
摘要:查看ace代码时发现如下代码 使用NDEBUG可以使assert失效,这在c中同样成立。 而static_cast<void>(0)的作用为避免编译器弹出warning提醒,这是因为如果这里直接写0的话,则当编译时,由于该处没有执行代码,编译器会弹出:"Warning: expression 0;  阅读全文
posted @ 2018-07-13 17:57 鸭子船长 阅读(1844) 评论(0) 推荐(0) 编辑
摘要:附上C中常用的位运算用法,取自《C Primer Plus》掩码:即mask,通常为某一个位为1,而其他位都为0的byte,如00000100。1.把byte中除掩码相同的位外,全部置0,掩码位不变 flags &= mask 10101111 & 00000100 = 000001002.打开位: 阅读全文
posted @ 2018-07-13 16:42 鸭子船长 阅读(278) 评论(0) 推荐(0) 编辑
摘要:一概述 Streams框架是管道和过滤构架模式的一种实现,主要应用于处理数据流的系统。其实现以Task框架为基础。Task框架有两个特性非常适用于Streams框架:一是Task框架可用于创建独立线程的并发环境,这适合应用于ACE Streams框架中的主动过滤器;二是Task框架有统一的数据传输结 阅读全文
posted @ 2017-10-13 20:01 鸭子船长 阅读(1521) 评论(0) 推荐(0) 编辑
摘要:消息块ACE_Message_Block结构的分析 阅读全文
posted @ 2017-10-11 16:48 鸭子船长 阅读(302) 评论(0) 推荐(0) 编辑
摘要:一、基础功能介绍 1、ACE_Message_Block*,Windows消息用MSG结构表示,ACE_Task中因为不能预计各种应用中消息的类型,所以ACE_Message_Block基本上可以理解为是对一个指针的封装,这个指针指向实际的一块内存或是一个对象等等。在创建ACE_Message_Bl 阅读全文
posted @ 2017-10-10 17:20 鸭子船长 阅读(1798) 评论(0) 推荐(0) 编辑
摘要:ACE中的很多类使用了单例模式,为了便于管理单例对象,ACE使用了一个组件——ACE_Framework_Component来专门管理。 我们以ACE_Reactor这个单例类的创建和释放为例。 1、Reactor.cpp中,包括了类的创建释放。其中,单例模式的接口有两个instance函数提供—— 阅读全文
posted @ 2017-09-29 17:50 鸭子船长 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:初学ace没多久,今天遇到了一个小问题。 具体是:我在写完代码之后,编译老是出现一个错误。 提示: ACE_TEST1.obj : error LNK2019: 无法解析的外部符号 "int __cdecl ace_main_i(int,char * * const)" (?ace_main_i@@ 阅读全文
posted @ 2017-09-25 16:33 鸭子船长 阅读(325) 评论(0) 推荐(0) 编辑
摘要:ACE简介:ACE是一个跨平台的用于并发通信的C++框架。它提供了丰富的C++封装器和框架组件。使用ACE,开发者可以开发出高性能,实时的通信服务和应用。ACE利用进程间通信,事件分离,动态链接和并发技术简化了面向对象的网络开发。对于学习C++会有很大的帮助。 以下是安装教程: 1.进入ACE官方网 阅读全文
posted @ 2017-09-25 16:26 鸭子船长 阅读(2503) 评论(0) 推荐(0) 编辑
摘要:1 消息队列 ACE消息队列由三个部分组成:消息队列(ACE_Message_Queue)、消息块(ACE_Message_Block)、数据块(ACE_Data_Block) 1.1 ACE_Data_Block:通过计数器来决定数据块释放时是否被删除。只有计数器为0时,对象才会被删除。 1.1. 阅读全文
posted @ 2017-08-01 16:12 鸭子船长 阅读(777) 评论(0) 推荐(0) 编辑
摘要:int ACE_Task< ACE_SYNCH_DECL >::putq ( ACE_Message_Block * , ACE_Time_Value * timeout = 0 ) 提供了一个向线程中提交数据的方法它是通过将提交数据插入到线程的消息队列来(msg_queue)完成这个操作的,我起初 阅读全文
posted @ 2017-07-31 14:43 鸭子船长 阅读(1227) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示