windows下ACE怎样安装与使用说明?

ACE-SSC-DRV64.SYS 文件分析 2,设备对象的通信操作,对应驱动里面irp_mj_device_control处理函数。驱动接收到数据之后,根据里面的索引执行对应的函数,没有使用通常的控制码来区分子功能。读取进程的内存时,使用PsAcquireProcessExitSynchronization来“锁住”进程,避免在读取操作期间,进程退出导致异常。1,设备对象的打开操作,对应驱动里面irp_mj_create处理函数中,会对进程名进行过滤;经分析,发现主要功能是进程的内存读取,为应用层提供相关的接口。而不是直接遍历进程。 阅读详情

本文分2部分 第1部分:怎样安装ACE(其实就是怎样编译) 第2部分:怎样使用ACE(其实就是把ACE源代码里的1个例子搬出来,然后介绍了下怎么使用)

-----------------------------------第1部分:怎样安装ACE(其实就是怎样编译)-----------------------------------

(1)这个ACE的主页非常的绕.先看下网上摘抄的

主页

ACE的主页为:http://www.cs.wustl.edu/~schmidt/ACE.html,在这里可获得最新版本的ACE以及其他相关资源。

相关网站:

ACE开发者 http://www.acejoy.com/

 
Douglas Schmidt's Home Page
http://www.cs.wustl.edu/~schmidt

ACE-5.4+TAO-1.4+CIAO-0.4 Documentation
http://www.huihoo.com/ace_tao/ACE-5.4-html/html/index.html

产品主页
。ACE - The ADAPTIVE Communication Environment
http://www.cs.wustl.edu/~schmidt/ACE.html

。JACE - Java版本的ACE
http://www.cs.wustl.edu/~eea1/JACE.html

。TAO - Real-time CORBA with TAO(TM) (The ACE ORB)
http://www.cs.wustl.edu/~schmidt/TAO.html

。CIAO - Component-Integrated ACE ORB
http://www.cs.wustl.edu/~schmidt/CIAO.html

。JAWS - 高性能、自适配的Web服务器,使用ACE提供的构架组件和模式构建,JAWS被构造成“构架的构架”
http://www.dre.vanderbilt.edu/JAWS/

。ZEN - JAVA实现的实时ORB
http://zen.ece.uci.edu/

。POSIX ACE - (PACE)项目是为轻量级系统设计的提供的操作系统抽像层
http://www.cs.wustl.edu/~schmidt/ACE_wrappers/PACE/docs/www/
相关资源和项目:
The CORBA & CORBA Component Model (CCM) Page
http://ditec.um.es/~dsevilla/ccm/

OpenCCM - The Open CORBA Component Model Platform
http://openccm.objectweb.org/

starccm, an CORBA Component Model research project(including OTS and PSS), funded by Chinese 863 Hi-tech research program. Core designer/core developer.
http://sourceforge.net/projects/starccm/

Agent and Distributed Objects Quality of Service (QoS)
http://www.atl.external.lmco.com/projects/QoS/

POSA1,POSA2文档
http://www.huihoo.com/download/ace-tao/posa.ppt
http://www.huihoo.com/download/ace-tao/posa2.ppt

(2)参考完上面的网站后,第1次用的人可能都分不清是非了.下面就1步1步傻瓜式的操作弄清

第1步:去这个网站下载http://download.dre.vanderbilt.edu/

下载ACE-6.0.0.tar.gz 这个就可以了(上面有很多,按需所选了,第1次用的话,先将就用这个吧)

第2步:下完后解压到D:\ACE_wrappers_6_0_0

可能第1次看,会有些不明白这些是做什么的,下面专门从网上摘抄的,做了一下简单说明

ACE_wrappers的子目录中大致包含7个目录:分别为:

    o   ace 包含ACE工具包的源码

    o bin含有许多有用的实用程序

    o apps 包含许多基于ACE的应用程序,比如Gateway消息路由

    o docs 含有与ACE的各个方面的有关信息,比如它的编码指导方针

    o examples 包含很多例子,演示怎么使用ACE类和框架

    o tests含有ACE的回归测试套件

第3步编译

1.在D:\ACE_wrappers_6_0_0\ace目录中创建一个头文件,命名为config.h,其内容为:
     #include "ace/config-win32.h"(必选项)

2.在VC++中加载ACE的工程文件(ACE_ROOT \ace\ace.dsw),在release和debug两种编译方式下进行编译,得到相应的库文件(ACE.dll、ACE.lib 和 ACEd.dll、ACEd.lib),其中ACE.dll 、ACE.lib是由release版生成的,ACEd.dll、ACEd.lib是由debug版生成的。具体操作方法:运行VC++,选择Build ->Batch Build…,将ACE-Win32 Debug和ACE-Win32 Release全部选中,Rebuild All即可.
备注:我这里用的是VS2010中文版,在VC++中加载ACE的工程文件(ACE_ROOT \ace\ace_vc10.sln),可能稍微与上面有些区别,但是大致意思同上面一样 。另外可能对这里的ACE_ROOT感到疑惑,下面有介绍。先看下批生成怎么样做,如图所示


点生成->批生成->选上win32(如果系统是64位,就选X64)->生成或重新生成 

编译成功后(大概要编译30分钟,视机器性能了),在D:\ACE_wrappers_6_0_0\lib这个路径下会产生引入库(.lib)与链接库(.dll),如图所示

注意:liunx下的DLL动态链接库是.so后缀名
到这里就安装完成了,其实就是编译了.没什么.

ACE和VS的比较:VS是个编译工具,ACE是个库

区别就是:VS给你编译好了,直接写代码即可,而ACE就是要用户自己编译工具与设置系统环境(整的很深奥似的,其实是把一个简单的东西整的很复杂而已,不过ACE是跨平台的,能理解),看完下面怎样使用后,你就会对这整个流程有个初步了解

 

-----------------------------------第2部分:怎样使用ACE-----------------------------------

一共2个例子: 例1,是ACE上的源代码 例2,就是自己另外写的

--------------------举例1:这里以D:\ACE_wrappers_6_0_0\examples下的Logger事例--------------------

先从ACE目录中拷贝到别的地方(不要放在原版目录中,因为原版是引用文件与库文件的地方).做下测试

用VS2010打开

报错1:

3>InitializeBuildStatus:
3>  正在创建“Debug\Logger_Simple_Server_vc10\I386\Logger_Simple_Server.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
3>ClCompile:
3>  Logging_Acceptor.cpp
3>f:\vc测试\logger\simple-server\logging_acceptor.cpp(3): fatal error C1083: 无法打开包括文件:“ace/WFMO_Reactor.h”: No such file or directory
3>  Logging_Handler.cpp
3>f:\vc测试\logger\simple-server\logging_handler.cpp(3): fatal error C1083: 无法打开包括文件:“ace/Log_Msg.h”: No such file or directory
3>  server_loggerd.cpp
3>f:\vc测试\logger\simple-server\server_loggerd.cpp(10): fatal error C1083: 无法打开包括文件:“ace/Get_Opt.h”: No such file or directory
解决办法:

‍在属性中放上

包含目录 D:\ACE_wrappers_6_0_0

库目录 D:\ACE_wrappers_6_0_0\lib

如图所示

当然,你若不想拷贝到别的目录,直接在ACE原版目录下的那个事例下编译也行,它不会报这个错误,因为它路径,已经指定好了../../../lib,上层目录的上层目录的上层目录的下层目录lib,所以直接编译不会报错(可参考)

报错2:

说找不到ACEd.dll,如图所示

这个问题:解决办法:是从源头找起

首先:要明白DLL的历史

摘抄:孙鑫<<VC++深入详解>>第19章701页

        Windows API中所有的函数都包含在DLL中,其中有3个最重要的DLL.

        Kernel32.dll,User32.dll与GDI32.dll
静态库和动态库

静态库

           函数和数据被编译进一个二进制文件(通常扩展名为.lib).在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.exe文件).当发布产品时,只需要发布这个可执行文件,并不需要发布被使用的静态库

动态库

          在使用动态库的时候,往往提供两个文件:一个引入库(.lib)文件和一个DLL(.dll)文件.虽然引入库的后缀名也是"lib",但是,动态库的引入库文件与静态库文件有着本质区别,对一个DLL来说,其引入库文件(.lib)包含该DLL导出的函数和变量的符号名,而.dll文件包含该DLL实际的函数和数据.在使用动态库的情况下,在编译链接可执行文件时,只需要链接该DLL的引入库文件,该DLL中的函数代码和数据并不复制到可执行文件,直到可执行程序运行时,才去加载所需要的DLL,将该DLL映射到进程的地址空间中,然后访问DLL中导出的函数.这时,在发布产品时,除了发布可执行文件以外,同时还要发布该程序将要调用的动态链接库

其次,此源代码的程序默认的运行库是多线程调试DLL,如图所示


这里很明显是动态库,上面也讲动态库的基础.这里主要是包含LIB.目录已经指的很清楚,上面已说了.

编译链接时也能正常通过,这说明LIB并没有问题.很明显的.这个DLL在ACE第1次"安装的时候",就已经固定了.

解决办法:
方法1.把这个ACEd.dll放到与.exe的同一目录,这样运行可执行程序时不会报错了

方法2.把这个ACEd.dll放到C:\WINDOWS\system32目录下

方法3.改系统参数,以下是摘抄的

    无法找到动态链接库aced.dll于指定的路径?
    为系统变量PATH加上D:\ACE_wrappers\bin

第1次看不太明白.没关系.按照下面的傻瓜式步骤.看完,你就会了

‍桌面->我的电脑->属性->高级->环境变量,这时会出现2个选项

第1个:Administrator的用户变量--->这个的意思是只为此超级管理员设置,单独的用户设置,如果有来宾用户,就是单独的来宾用户

第2个:系统变量--->这个是全局的.所有不管是超级管理员还是来宾用户

这里选择第2个系统变量->找到Path,打开弹出变量名:Path 变量值:.....

增加格式如下;+路径

;D:\ACE_wrappers_6_0_0\lib

拷贝这个到最后即可,如图所示:

任何一种方法都能运行程序.

到这里也顺便讲讲ACE_ROOT,为什么要在系统变量中添加这个,上图也添加了个ACE_ROOT2,做参考.其实它无非是一个路径名而已.但是它的最重要功能是可移植性.因为ACE的设计就是跨平台,所以添加这个系统变量是很正常的

摘抄:

环境设置

你可能打算注册一些环境变量指向你安装OGRE的根目录,这样你可以把你的所有路径与这个变量关联。这样的话当你移动这些东西到别处或者别的机器上时可以非常简单的重新定位这些路径。关于查看与修改环境变量,请参阅以下文档:Windows, Linux以及 Mac OSX

  • 如果你下载并安装了预编译版(precompiled) OGRE SDK,那你应该已经拥有一个名为'OGRE_HOME'的环境变量了,它指向了你安装OGRE的那个文件夹。如果没有的话,你也许是在系统的另一个用户下安装的OGRE,那么手动定义一下 OGRE_HOME 环境变量就行了。
  • 如果你下载的是源代码版本,你应该注册一个新的环境变量 OGRE_SRC 指向OGRE源代码中的'ogrenew'文件夹。

这个就是为什么要加系统变量ACE_ROOT的原因!

 

--------------------举例2:--------------------

例子2:会比例子1标准一点.一步一步前进

首先:系统配置环境:

变量名 ACE_ROOT 变量值 D:\ACE_wrappers_6_0_0

变量名 Path             变量值 在后面增加;%ACE_ROOT%\lib

其它都基本上同上面一样.不过建议一点:库路径最好放统一.为了体现可方便跨平台性(比如公司有一台写了一个程序,要能直接拷贝到宿舍就能直接用,不需要在配置系统环境)

在VS中配置时,


(2)VS中配置环境--->注意在Debug与Release版本各配置一次(配置方法一样),这样以后切换时,就不需要配来配去了

正确配置:

包含目录:$(ACE_ROOT)

包含库:$(ACE_ROOT)\lib

错误配置:注意$与%别弄混了

包含目录:%ACE_ROOT

包含库:%ACE_ROOT%\lib

 


注:这个和Windows的Hello World!有着本质的区别.这个是用具有跨平台的库写出来的

代码如下:

// login.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"

#ifdef _DEBUG
#pragma comment (lib,"ACEd.lib")
#else
#pragma comment (lib,"ACE.lib")
#endif

#include "ace/OS_main.h"
#include "ace/Service_Config.h"

int
ACE_TMAIN (int argc , ACE_TCHAR *argv[])
{
 ACE_OS::printf("Hello World!\n");
 return 0;
}

 附注1:本文讲的是最基础的.比如怎么安装,与怎么编译ACE自带的代码,并且给出怎样自己写出一个Hello World!先认识一下,1步1步来认识它


windowsACE安装使用教程 ACE是一个跨平台的用于并发通信的C++框架。它提供了丰富的C++封装器和框架组件。使用ACE,开发者可以开发出高性能,实时的通信服务和应用。ACE利用进程间通信,事件分离,动态链接和并发技术简化了面向对象的网络开发。对于学习C++会有很大的帮助。 阅读详情

相关推荐

Windows下OpenDDS安装

需要准备:Visual Studio,并安装Windows SDK,还需要安装 ActivePerl 1.OpenDDS下载: 链接:http://opendds.org/downloads.html 建议顺便下载官方文档:http://download.objectcomputing.com/OpenDDS/OpenDDS-latest.pdf 如果文档下载速度太慢可以百度网盘下载:ht...

Yhc不是咸鱼 4214

三角洲卡爆了?华硕道歉,腾讯接受:一唱一和的背后,引爆一场关于ACE反作弊作用弊端的争论(2026)

关于腾讯ACE的讨论,其部分架构、原理负面作用的分析。元旦快乐。

2402_86704102的博客 2157

ace 官网地址以及相关的下载地址--防止自己忘记

官网首页http://www.cs.wustl.edu/~schmidt/ACE.html 点击 obtaining ace 进入到下载页面,这里根据自己的需求下载需要的包就可以了。

zhengpinghx的专栏 1万+

ACE 服务配置器(Service Configurator)

TimeService DLL:VC6 dll工程属性设置 Setting->C/C++->Category(general)->preprocessor definitions:WIN32,_DEBUG,_WINDOWS,_MBCS,_USRDLL,TIMESERVICE_EXPORTS,ACE_BUILD_SVC_DLL-------------------------------

DNCS的专栏 3489

windowsACE怎样安装使用说明

本文分2部分 第1部分:怎样安装ACE(其实就是怎样编译) 第2部分:怎样使用ACE(其实就是把ACE源代码里的1个例子搬出来,然后介绍了下怎么使用) -----------------------------------第1部分:怎样安装ACE(其实就是怎样编译)----------------------------------- (1)这个ACE的主页非常的绕.先看下网上摘抄的 主页

g710710的专栏 6266

2011-04-05 00:47 windowsACE怎样安装使用说明?

本文分2部分 第1部分:怎样安装ACE(其实就是怎样编译) 第2部分:怎样使用ACE(其实就是把ACE源代码里的1个例子搬出来,然后介绍了下怎么使用) -----------------------------------第1部分:怎样安装ACE(其实就是怎样编译)----------------------------------- (1)这个ACE的主页非常的绕.先看下网上摘抄的 主页

编程的那点事 908

WindowsACE在MinGW下的安装

注:下面文件的安装位置可由个人决定,并不一定要按照文中的目录结构安装1.下载安装MinGW老巢:http://www.mingw.org/下载:http://www.mingw.org/download.shtml最终下载:http://sourceforge.net/project/showfiles.php?group_id=2435放在第一个的是Automated MinGW Ins

1466

ACE7.0-vs2019编译

记录环境准备关键步骤参考资料 环境准备 windowns下perl运行环境,win cmd下安装,官网下载. 本地vs2019构建环境,很容易找到,直接在线安装ACE7.0.1 选择一个版本下载回来. 关键步骤 设置ACE_ROOT环境变量(到wrapper一级)。 生成vs可用的解决方案文件。使用这条命令即可:perl ACE_ROOT/MPC/mwc.pl -type vs2019 …/ace.mwc 在ACE_ROOT/ace下添加confg.h文件。内容很简单: #ifndef ACE_

whotomcom的博客 1218

VS2005编译ACE

 ACE安装是一件比较麻烦的事情,这里简单的记录了我在VS2005下安装ACE的过程,希望能给大家一个参考。 安装环境: 操作系统:Windows XP 专业版 编译环境:VS2005中文版 ACE版本:ACE-5.5.1 安装过程: 下载安装包。 Ace安装文件可以在http://download.dre.vanderbilt.

lijiaz5033的专栏 883

如何在Windows,Visual C++下获取、配置和构建ACE及TAO?

Q:如何在Windows,Visual C++下获取、配置和构建ACE及TAO?A:本FAQ提供 在Windows下用VisualC++安装和构建ACE+TAO的基本说明ACE+TAO也适用于其它主要的操作系统,例如:Linux, Solaris, HP-UX, AIX和Tru64,还适用于一些实时,嵌入式操作系统,如 VxWorks,LynxOS, timeSys Linux和Windows ...

pleasetojava 143

OpenDDS 安装合集包 (Windows, VS2017)

OpenDDS 安装合集包 (Windows, VS2017) 去发现同类优质开源项目:https://gitcode.com/ 资源描述 本仓库提供了一个OpenDDS安装合集包,适用于Windows系统,并支持使用Visual Studio 2017进行编译。该合集包包含以下组件: OpenDDS 3.14: 一个开源的分布式实时通信中间件,支持多种通信协议和数据格式。 Perl (直接安装...

gitblog_09798的博客 363

Centos6.5下编译安装ACE6.0

ACE在Linux下的编译安装步骤(CentOS6.5 64Bit) Linux平台安装(CentOS6.5 64bit) 1, 下载ACE软件包,上传至Linux服务器(假设目录为/opt/ace,且以root权限操作),并解压缩之。 下载网址:http://www.cs.wustl.edu/~schmidt/ACE.html 软件包名:ACE...

weixin_30919571的博客 346

如何免费本地运行AI音乐生成:ACE-Step UI完整指南

还在为Suno、Udio等商业AI音乐生成平台的高昂费用而烦恼吗?想拥有完全免费、本地运行、无限制使用的专业级AI音乐创作工具吗?ACE-Step UI正是你寻找的完美解决方案!这款开源AI音乐生成平台基于强大的ACE-Step 1.5技术,让你在自己的电脑上就能创作出媲美专业水准的音乐作品。 ## 🎵 为什么选择ACE-Step UI? 在AI音乐生成领域,商业平台往往收取每月$10-$5

gitblog_00577的博客 303

腾讯游戏卡顿终结者:ACE-Guard限制器完全指南

腾讯游戏玩家们,你是否曾遇到这样的情况:明明电脑配置不错,但玩《英雄联盟》、《穿越火线》或《天涯明月刀》时,游戏还是会卡顿、掉帧,甚至风扇狂转?问题的根源很可能在于腾讯游戏的ACE-Guard反作弊系统。今天,我要为大家介绍一款开源神器——ACE-Guard限制器(sguard_limit),它能有效限制ACE-Guard Client EXE的系统资源占用,让你的游戏体验重回流畅。 ## 🎯

gitblog_01065的博客 352

【免费下载】 Microsoft.ACE.OLEDB.12.0 驱动完整版下载

Microsoft.ACE.OLEDB.12.0 驱动完整版下载 【下载地址】Microsoft.ACE.OLEDB.12.0驱动完整版下载 本仓库提供了一个完整的 `Microsoft.ACE.OLEDB.12.0` 驱动程序下载资源。该驱动程序可以帮助解决在本地计算机上未注册 `Microsoft.ACE.OLEDB...

gitblog_09783的博客 1万+
上一篇: windows下搭建boost开发环境
下一篇: ACE自适配通信环境中文技术文档
freecamel
博客等级 码龄16年 9粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值