• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            網(wǎng)絡(luò)服務(wù)器軟件開(kāi)發(fā)/中間件開(kāi)發(fā),關(guān)注ACE/ICE/boost

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks
            在ACE中使用epoll
            2007-01-18 15:56

            星期四, 六月 8th, 2006 

                    很顯然,文章的標(biāo)題決定了我們是在linux下使用ACE。我們知道ACE在linux下缺省是用select來(lái)實(shí)現(xiàn)Reactor的,epoll相對(duì)于select的好處這里就不再啰嗦了,我們直接講操作步驟:
                第一:重新編譯ACE庫(kù)
                 ACE庫(kù)中通過(guò)ACE_Dev_Poll_Reactor類(lèi)來(lái)支持epoll,但是ACE庫(kù)缺省的安裝是沒(méi)有編譯這個(gè)類(lèi)的,我們要做的就是將ACE_Dev_Poll_Reactor編譯連接到ACE庫(kù)中(faint,又要重新編譯ACE,在我那臺(tái)破服務(wù)器上編譯一次需要一個(gè)多小時(shí)).我的操作系統(tǒng)是Redhat linux AS4.0,ACE的版本是5.4.10。根據(jù)ACE壓縮包中的ACE-INSTALL.html,我是用”Building ACE with GNU Autoconf“這種方式來(lái)安裝的,安裝步驟如下(很簡(jiǎn)單,就不翻譯了):
                   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.
                  好,現(xiàn)在終于可以講如何將ACE_Dev_Poll_Reactor編譯到ACE庫(kù)中去了。在上述的第一步和第二步之間修改ACE_wrappers/ace/config-linux.h,增加一行:#define ACE_HAS_EVENT_POLL,然后執(zhí)行第2、3步,第3步../configure執(zhí)行完之后,build目錄下會(huì)生成一些文件和目錄,打開(kāi)ACE_wrappers/build/ace/config.h,增加一行:#define ACE_HAS_EVENT_POLL。然后執(zhí)行第4步make和第5步make install.OK,在漫長(zhǎng)的編譯以后,支持epoll的ACE庫(kù)總算完成了。

                 第二:修改應(yīng)用程序
                    應(yīng)用程序修改很簡(jiǎn)單,兩行代碼搞掂,在應(yīng)用程序初始化時(shí)(必須是在第一次使用ACE_Reactor::instance()之間)加入:
                   
                    m_pDevPollReactor=new ACE_Dev_Poll_Reactor;
                   ACE_Reactor::instance(new ACE_Reactor(m_pDevPollReactor));
                  
                   那么在后續(xù)的對(duì)ACE_Reactor::instance()的調(diào)用就是使用ACE_Dev_Poll_Reactor的實(shí)現(xiàn)了。
              
               第三:重新編譯應(yīng)用程序
              
                    在應(yīng)用程序的makefile中加入 -DACE_HAS_EVENT_POLL,重新make應(yīng)用程序。OK,打完收工。
                    

            posted on 2007-04-05 08:32 true 閱讀(2161) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): ACE
            久久久久99精品成人片试看| 久久香蕉国产线看观看99| 天天综合久久一二三区| 伊色综合久久之综合久久| 亚洲国产欧洲综合997久久| 久久国产精品-久久精品| 无码精品久久一区二区三区| 中文国产成人精品久久不卡| 久久国产免费观看精品| 蜜桃麻豆WWW久久囤产精品| 狠狠狠色丁香婷婷综合久久五月| 久久高清一级毛片| 精品免费久久久久久久| 中文字幕久久亚洲一区| 国产ww久久久久久久久久| 色88久久久久高潮综合影院| 欧美色综合久久久久久| 91精品国产9l久久久久| 中文字幕人妻色偷偷久久| 久久精品国产亚洲7777| 久久久精品一区二区三区| 久久综合噜噜激激的五月天| 久久人妻少妇嫩草AV蜜桃| 欧美一级久久久久久久大片 | 国产精品免费久久久久久久久| 久久香蕉超碰97国产精品| 久久大香萑太香蕉av| 一本大道久久香蕉成人网| 久久免费视频6| 午夜精品久久影院蜜桃| 久久精品亚洲精品国产欧美| 国产国产成人久久精品| 久久精品国产72国产精福利| 国产ww久久久久久久久久| 国产一区二区精品久久岳| 国产日韩久久久精品影院首页| 国产日产久久高清欧美一区| 久久精品草草草| 久久国产精品一区| 久久人人爽人人爽人人片av麻烦| 欧美日韩精品久久久免费观看|