• <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表示強制采用本地的全局變量定義,這樣就不會出現動態鏈接庫的全局變量定義被應用程序的同名定義給覆蓋了!
            久久久无码精品亚洲日韩蜜臀浪潮| 乱亲女H秽乱长久久久| 国产精品成人无码久久久久久| 久久久受www免费人成| 亚洲av成人无码久久精品| 潮喷大喷水系列无码久久精品| 精品乱码久久久久久夜夜嗨| 日韩精品久久久久久免费| 久久久久亚洲精品男人的天堂| 久久久久久亚洲AV无码专区| 亚洲国产香蕉人人爽成AV片久久 | 久久精品视屏| 99久久综合狠狠综合久久止| 久久经典免费视频| 久久av高潮av无码av喷吹| 久久99精品久久久久久久久久| 久久久久久久波多野结衣高潮| 久久天天躁狠狠躁夜夜av浪潮| 97久久超碰国产精品旧版 | 亚洲一区二区三区日本久久九| 亚洲中文字幕无码久久2020| 久久综合九色综合久99| 久久久久亚洲AV无码去区首| 夜夜亚洲天天久久| 亚洲午夜久久久精品影院| 色综合久久天天综合| 久久国产精品-久久精品| 久久精品水蜜桃av综合天堂| 久久午夜羞羞影院免费观看| 午夜不卡久久精品无码免费| 日韩精品久久久久久久电影蜜臀 | 久久亚洲中文字幕精品有坂深雪| 久久精品桃花综合| 久久久久久久97| 久久综合88熟人妻| 精品久久久无码人妻中文字幕豆芽| 日韩精品无码久久久久久| 国产精品女同久久久久电影院| 97久久精品午夜一区二区| 蜜桃麻豆www久久| 欧美国产精品久久高清|