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

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            問題描述

            回歸正題,前段時間項目開發中,實現了一個動態庫,封裝了一些方法。然后基于這個動態庫,實現了一個應用程序。應用程序中含有全局變量A,動態庫中也含有全局變量A,當我調用動態庫中函數后,發現應用程序的A發生了變化!!!O,My God!對于我這種還沒在Linux下做過開發的人來說,一頭霧水。。。。。。 于是我嘗試著,將A中的變量名稱改為B,這樣問題也就沒有了~~~

            原因

            應用程序進行鏈接的時候,動態庫中全局變量定義,將會被應用程序中同名的全局變量所覆蓋。這樣也就造成了,在動態庫中修改A變量時,應用程序中的A也發生了變化。

            解決方法

            在創建動態鏈接庫時,gcc/g++選項中添加編譯選項

            -Wl,-Bsymbolic.

            其中Wl表示將緊跟其后的參數,傳遞給連接器ldBsymbolic表示強制采用本地的全局變量定義,這樣就不會出現動態鏈接庫的全局變量定義被應用程序的同名定義給覆蓋了!
            久久综合九色综合久99| 久久精品国产只有精品66| 久久青青国产| 中文字幕久久精品无码| 久久国产精品成人片免费| 国产69精品久久久久99尤物| 亚洲性久久久影院| 久久精品无码午夜福利理论片 | 久久精品国产亚洲AV蜜臀色欲| 久久乐国产综合亚洲精品| 国产精品无码久久久久久| 久久久久99精品成人片三人毛片| 77777亚洲午夜久久多喷| 精品国产乱码久久久久久浪潮 | 国产精品一久久香蕉国产线看| 久久99精品久久久久久野外| 久久精品国产亚洲av麻豆蜜芽| 日本福利片国产午夜久久| 亚洲精品乱码久久久久久按摩| 久久亚洲中文字幕精品一区| 欧美亚洲国产精品久久蜜芽 | 久久久久久久久久久精品尤物 | 秋霞久久国产精品电影院| 久久WWW免费人成一看片| 伊人久久亚洲综合影院| 久久精品国产色蜜蜜麻豆| 99久久精品国产麻豆| 99精品久久精品一区二区| 亚洲精品综合久久| 天堂无码久久综合东京热| 久久国产成人| 久久精品国产精品亚洲| 94久久国产乱子伦精品免费| 97精品国产97久久久久久免费| 97久久国产亚洲精品超碰热| 国产精品久久久久久吹潮| 99久久超碰中文字幕伊人| 久久综合狠狠色综合伊人| 91超碰碰碰碰久久久久久综合| 色综合久久天天综合| 国产精品九九久久精品女同亚洲欧美日韩综合区 |