• <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>

            MySpace

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              18 隨筆 :: 2 文章 :: 10 評論 :: 0 Trackbacks

                共享內(nèi)存中我們可以放置數(shù)據(jù)來供不同的進(jìn)程去訪問、讀寫。但是不是任何數(shù)據(jù)都可以放進(jìn)去呢,答案是否定的。最起碼抽象類是不能放進(jìn)去的,具體理由從書上摘錄了一段:在C++中, new運(yùn)算符可用來在共享內(nèi)存中初始化C++對象。這一特性對concrete class(具體類)[Bja00]來說是可行的,因?yàn)槊恳粋€(gè)concrete class都包含“提供這一支持所需的全部操作”。concrete class中的所有方法(method)都是非虛方法(nonvirtual);也就是說,它們是被直接調(diào)用的,而不是通過函數(shù)指針間接調(diào)用。很多ACE wrapper facade都是concrete type(具體類型)。

            相反,abstract type(抽象類型)包含虛方法,如果將其置于共享內(nèi)存中,則在編寫程序時(shí)將很棘手。通常,虛方法是間接調(diào)用的,它要借助一個(gè)“位于對象內(nèi)存中”的函數(shù)指針表(vtable)。在每一個(gè)映射了共享內(nèi)存的進(jìn)程中,此共享內(nèi)存區(qū)可能位于不同的虛擬內(nèi)存區(qū)域(location)[BC94、Jor91]。而且,C++編譯器/鏈接器不一定會(huì)將vtable放在各個(gè)進(jìn)程的相同地址中。因此,vtable及其指向的函數(shù)可能會(huì)被映射到各個(gè)進(jìn)程中的不同虛擬地址中,因而必定會(huì)在運(yùn)行時(shí)產(chǎn)生問題。

            看過這段解釋之后會(huì)明白很多。

            posted on 2008-06-02 11:51 yang-chunlei 閱讀(361) 評論(0)  編輯 收藏 引用
            久久久久无码国产精品不卡| 亚洲AV无码1区2区久久| 国产精品久久波多野结衣| 久久久久国产精品| 狠狠精品久久久无码中文字幕| 久久综合亚洲色HEZYO国产| 91亚洲国产成人久久精品网址| 国产成人久久精品区一区二区| 一本伊大人香蕉久久网手机| 久久精品国产日本波多野结衣| av无码久久久久不卡免费网站| 久久综合亚洲色HEZYO国产| 国产麻豆精品久久一二三| 亚洲精品无码久久久久AV麻豆| 99精品国产在热久久| 久久婷婷人人澡人人爽人人爱| 成人精品一区二区久久| 久久国产免费观看精品3| 精品久久久久久无码不卡| 色综合久久久久| 久久久久亚洲AV成人片| 久久久久久伊人高潮影院| 久久久噜噜噜久久| 国产精品免费看久久久香蕉| 潮喷大喷水系列无码久久精品 | 久久久久99精品成人片牛牛影视 | 国产香蕉97碰碰久久人人| 久久久久人妻一区精品色| 亚洲精品无码久久一线| 久久无码AV一区二区三区| 欧美性大战久久久久久| 国内精品久久久久久久久电影网| 国产精品久久久久天天影视| 人妻精品久久无码区| 亚洲AV日韩AV永久无码久久| 伊人久久大香线蕉综合Av| 国产精品亚洲综合久久| 精品久久久久久国产| 精品熟女少妇AV免费久久| 久久精品国产亚洲AV影院| 久久亚洲国产成人精品性色|