• <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久久国产精品免费一区二区| 新狼窝色AV性久久久久久| 色偷偷88888欧美精品久久久| 国产精品99久久久精品无码| 久久久久亚洲AV综合波多野结衣| MM131亚洲国产美女久久| 久久久噜噜噜久久中文福利| 久久99国产精品尤物| 国产精品免费久久| 合区精品久久久中文字幕一区| 亚洲精品乱码久久久久66| 久久精品人人做人人爽电影蜜月| 精品久久久久久久| 99久久国产主播综合精品| 久久伊人精品一区二区三区| 久久人人爽人人爽人人AV| 国内精品免费久久影院| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久99热这里只有精品国产| 亚洲成色WWW久久网站| 久久精品人人做人人爽电影| 久久夜色精品国产亚洲av| 午夜久久久久久禁播电影| 国产亚洲色婷婷久久99精品91| 国色天香久久久久久久小说| 国产精品免费看久久久香蕉| 久久综合给久久狠狠97色| 一97日本道伊人久久综合影院| 91久久婷婷国产综合精品青草| 国产L精品国产亚洲区久久| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 99久久久国产精品免费无卡顿| 久久久青草青青国产亚洲免观| 婷婷久久久亚洲欧洲日产国码AV| 99久久综合国产精品二区| 少妇久久久久久被弄高潮| 久久精品国产男包| 人妻久久久一区二区三区| 色婷婷噜噜久久国产精品12p | 精品久久777| 国产成人久久精品激情|