ACE学习
文章平均质量分 75
u010856711
这个作者很懒,什么都没留下…
展开
-
ACE 中 ACE_Mem_Map 类的简单简单测试
内存映射文件:ACE_Mem_Map类提供Win32和UNIX(比如mmap系统调用族)上可用的内存映射文件机制的OO接口。这些调用利用底层的OS虚拟内存机制[30]来将文件映射到进程的地址空间。映射文件的内容可直接通过指针访问。指针接口常常比通过标准read/write I/O系统调用间接地访问数据块要更为方便和高效。此外,内存映射文件的内容可以很方便地在两个或多个进程间共享。#in原创 2013-06-15 11:08:40 · 1600 阅读 · 0 评论 -
使用 ACEXML 来解析一个 xml 文件
本段代码通过ACEXML来解析一个XML文件,并且生成了一棵树,树的存储采用孩子兄弟存储的方法。在连接生成可执行文件的时候,连接一下文件:ACEd.libACEXMLd.libACEXML_Parserd.libiphlpapi.libCTree#pragma once#include "string"using name原创 2013-06-15 11:21:34 · 2355 阅读 · 0 评论 -
ACE 中 ACE_Allocator 使用例子
ACE_Cached_Allocator该分配器预先分配内存池,其中含有特定数目和大小的内存chunk。这些chunk在内部空闲表(free list)中进行维护,并在收到内存请求(malloc())时被返回。当应用调用free()时,chunk被归还到内部空闲表、而不是OS中。 // Memapply.cpp : Defines the entry point for the con原创 2013-07-04 11:51:57 · 1634 阅读 · 0 评论 -
利用 ACE 来实现 UDP 通讯
TCP和UDP的"保护消息边界" 机制 在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分原创 2013-07-02 15:12:34 · 1346 阅读 · 0 评论 -
使用ACE获取主机的IP地址
使用ACE获取主机的IP地址,不知道为什么会有127.0.0.1? #include "stdafx.h"#include "ace\OS.h"#include "ace\SOCK_Connector.h"//用ACE获取本机IP addressint _tmain(int argc, _TCHAR* argv[]){ WSADATA wsaData; if (WSAS原创 2013-07-18 12:49:18 · 2391 阅读 · 0 评论 -
ACE 容器之五 ACE_Bounded_Set 和 ACE_Unbounded_Set 的使用
这两个类是ACE提供的集合容器类。集合容器类也分为有边界和无边界之分。// ACEset.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ace/OS_Memory.h"#include "ace/Log_Msg.h"#include "ace/Cont原创 2013-07-17 14:55:44 · 1619 阅读 · 0 评论 -
ACE 容器之四 ACE_Bounded_Stack ,ACE_Fixed_Stack,ACE_Unbounded_Stack的使用
ACE提供几个栈容器的使用。有边界限定的,有边界不限定,选择一个合适的自己用用。// ACEstack.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ace/OS_Memory.h"#include "ace/Log_Msg.h"#include "a原创 2013-07-17 10:59:55 · 1161 阅读 · 0 评论 -
ACE 容器之三 ACE_Unbounded_Queue的使用
以下代码演示了如何在ACE_Unbounded_Queue这个队列容器中存储具体的数据元素和数据元素的指针。 // ACEqueue.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ace/OS_Memory.h"#include "ace/原创 2013-07-17 10:14:52 · 1984 阅读 · 0 评论 -
ACE 容器之二 ACE_DLList 的使用
下边的代码演示了如何使用ACE容器 ACE_DLLList 的使用方法,从名字上看,就可以知道这是一个动态的List,所以在使用的过程中和 STL 提供的 list 还是有很大的不同的。 // ACElist.cpp : Defines the entry point for the console application.//#include "stdafx.h"#inc原创 2013-07-16 10:25:00 · 1530 阅读 · 0 评论 -
ACE 主动对象模式的按部就班的实现方法
ACE的主动对象模式的实现对分布式系统设计来说,ACE提供的主动对象模式是让我们在系统框架构建的时候,回归到传统的单线程编程思维。你可能要问,既然有主动对象,那必然有被动对象,没有错,确实有被动对象,那到底什么是主动对象?什么又是被动对象呢?被动对象:假如我们要给一个客户端提供一个方法,计算两个数之和。我们一般定义一个对象,然后实现具体的加法运算操作,客户端在调用的时候,首先实例化我们原创 2013-07-05 17:27:58 · 1258 阅读 · 0 评论 -
获取 ACE 主动对象方法返回值的另外一种方法
从上一篇“按部就班实现ACE的主动对象”中我们可以看到,我们必须为所有要从客户异步调用的方法编写方法对象。每个方法对象都派生自ACE_Method_Object,并会实现它的call()方法。每个方法对象还维护上下文信息(比如执行方法所需的参数,以及用于获取返回值的ACE_Future对象。这些值作为私有属性维护)。你可以把方法对象看作是方法调用的“罩子”(closure)。客户发出方法调用,使得原创 2013-07-08 15:17:01 · 1699 阅读 · 0 评论 -
ACE 容器之一 ACE_Array 的使用
ACE_Array增加越界访问控制,以下为测试代码。// sctpserver.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ace/Containers.h"int _tmain(int argc, _TCHAR* argv[]){原创 2013-06-19 11:26:27 · 1032 阅读 · 0 评论 -
ACE消息队列 ACE_Message_Queue 入队列,出队列方法(1)
ACE提供的的消息队列 ACE_Message_Queue,作为一个容器类, 不仅可以在其中存储一个具体的对象,也可以存储一个对象的指针。使用起来十分的方便。另外它是一个模板类,在定义的时候可以选择多线程同步工作模式,所以它也可以在线程安全的模式下工作。下边的代码是测试存储对象类为一个stduent类。// lesson_queue.cpp : Defines the entry point f原创 2013-06-08 14:46:17 · 2212 阅读 · 0 评论 -
ACE 消息队列 ACE_Message_Queue的遍历(2)
以下的代码是对ACE_Message_Queue的遍历方法。先定义一个学生对象:#pragma once#include "iostream"using namespace std;class student{public: student(void); student(int number, char* name, int english);原创 2013-06-08 15:20:15 · 1354 阅读 · 0 评论 -
利用ACE 自己实现的线程池
1: 线程池组件的配置文件: [log];DEBUG = 0;INFO = 1;WARN = 2;FAULT = 3level=0;SCREENOUT = 0;FILEOUT = 1;BOTH = 2director = 2;TEST = 0;RUN = 1mode = 0;ONE = 0x00;FO原创 2013-08-19 15:17:15 · 1423 阅读 · 0 评论