• <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表示強制采用本地的全局變量定義,這樣就不會出現動態鏈接庫的全局變量定義被應用程序的同名定義給覆蓋了!
            久久久久亚洲AV成人网人人网站 | 久久99热只有频精品8| 久久久亚洲裙底偷窥综合| 久久夜色精品国产噜噜麻豆 | 精品久久久久久成人AV| 嫩草影院久久99| 精品久久久一二三区| 久久99精品综合国产首页| 久久中文字幕无码专区| 亚洲AV日韩精品久久久久| 久久精品亚洲欧美日韩久久| 色88久久久久高潮综合影院| 久久久亚洲精品蜜桃臀| 亚洲欧美成人综合久久久| 久久99国产一区二区三区| 久久综合噜噜激激的五月天| 久久久精品国产Sm最大网站| 国产亚洲欧美精品久久久| 99久久综合国产精品免费| 久久99精品国产麻豆婷婷| 国产精品无码久久综合 | 精品久久久无码人妻中文字幕豆芽| 欧美一区二区精品久久| 亚洲国产精品一区二区久久hs| 久久A级毛片免费观看| 偷窥少妇久久久久久久久| 久久99国产精品尤物| 久久无码精品一区二区三区| 2019久久久高清456| 久久久99精品一区二区| AV狠狠色丁香婷婷综合久久| 亚洲?V乱码久久精品蜜桃| 色综合合久久天天综合绕视看| 久久国产免费直播| 伊人久久五月天| 久久婷婷人人澡人人| 久久久久亚洲av毛片大 | 久久精品一区二区国产| 国产精品久久久久蜜芽| 精品久久久久久久国产潘金莲| 久久夜色精品国产|