在ACE中使用epoll[zhuan]
来源:互联网 发布:mac 删除移动硬盘文件 编辑:程序博客网 时间:2024/04/30 11:24
第一:重新编译ACE库
ACE库中通过ACE_Dev_Poll_Reactor类来支持epoll,但是ACE库缺省的安装是没有编译这个类的,我们要做的就是将ACE_Dev_Poll_Reactor编译连接到ACE库中(faint,又要重新编译ACE,在我那台破服务器上编译一次需要一个多小时).我的操作系统是Redhat linux AS4.0,ACE的版本是5.4.10。根据ACE压缩包中的ACE-INSTALL.html,我是用”Building ACE with GNU Autoconf“这种方式来安装的,安装步骤如下(很简单,就不翻译了):
1 cd to the top-level ACE_wrappers directory.
2.Create a subdirectory to hold your build’s configuration and built ACE version, and then change to the new directory:
mkdir build
cd build
3.Note that you do not run the create_ace_build.pl utility mentioned in the Cloning the Source Tree section. The configure script takes care of creating all files and links that are needed.
Configure ACE for your platform by issuing the following command: c
../configure [options]
4.Build ACE by typing make.
5. Install ACE by typing make install.
好,现在终于可以讲如何将ACE_Dev_Poll_Reactor编译到ACE库中去了。在上述的第一步和第二步之间修改ACE_wrappers/ace/config-linux.h,增加一行:#define ACE_HAS_EVENT_POLL,然后执行第2、3步,第3步../configure执行完之后,build目录下会生成一些文件和目录,打开ACE_wrappers/build/ace/config.h,增加一行:#define ACE_HAS_EVENT_POLL。然后执行第4步make和第5步make install.OK,在漫长的编译以后,支持epoll的ACE库总算完成了。
应用程序修改很简单,两行代码搞掂,在应用程序初始化时(必须是在第一次使用ACE_Reactor::instance()之间)加入:
m_pDevPollReactor=new ACE_Dev_Poll_Reactor;
ACE_Reactor::instance(new ACE_Reactor(m_pDevPollReactor));
那么在后续的对ACE_Reactor::instance()的调用就是使用ACE_Dev_Poll_Reactor的实现了。
第三:重新编译应用程序
在应用程序的makefile中加入 -DACE_HAS_EVENT_POLL,重新make应用程序。OK,打完收工。
- 在ACE中使用epoll[zhuan]
- 在ACE中使用epoll
- 在ACE中使用epoll
- 在ACE中使用epoll
- 在ACE中使用epoll的ET模式
- ace epoll使用源码示例
- 在python中使用epoll
- ACE编译设置 在Unicode中使用ACE
- 如何在C++Builder中使用ACE
- 在ACE中使用KindeditorHTML可视化编辑器
- 在婚姻中温习成语(zhuan)
- 在 Python 中使用 epoll[译文]
- ACE函数库在VC6.0中如果使用
- 已经成功在IOS中使用ACE和TAO
- 在VC中调用 WebService (非托管-zhuan)
- 使用PostThreadMessage在Win32线程间传递消息 (zhuan)
- ACE在AIX上使用
- 在Linux上使用ACE
- rewind () 函数
- RegOpenKeyEx和RegCreateKeyEx函数
- 2008年11月16日_日_阴_为火车票呐喊
- 三五个人十来条枪 如何走出软件作坊成为开发正规军
- 四个开放源代码审查工具【图文】
- 在ACE中使用epoll[zhuan]
- 网络服务器软件开发
- 清华大三女生坠楼身亡 博客签名“DIE”(图)
- scanf () 函数
- 位操作
- 在Google上搞了一个Django项目,名字就是DDTCMS
- Java代码规范
- 使用maven-jetty-plugin启动JBoss是遇到的问题。
- JAVA十四种Java开发工具点评