• <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精品久久久久久久久久| 久久久精品2019免费观看| 狠狠色丁香久久婷婷综合五月| 久久水蜜桃亚洲av无码精品麻豆| 国产精品18久久久久久vr| 99久久精品免费国产大片| 亚洲七七久久精品中文国产| 国产亚洲综合久久系列| 国产免费福利体检区久久| 久久亚洲精品成人无码网站| 青青青国产精品国产精品久久久久 | 日韩欧美亚洲综合久久| 精品久久久无码人妻中文字幕豆芽| 很黄很污的网站久久mimi色| 精品伊人久久大线蕉色首页| 精品一久久香蕉国产线看播放| 久久久精品2019免费观看| 亚洲国产成人精品久久久国产成人一区二区三区综 | 无码专区久久综合久中文字幕| 久久精品免费观看| 国产美女亚洲精品久久久综合| 精品久久久久久国产免费了| 青青草原精品99久久精品66| 精品久久久久久无码不卡| 久久se精品一区二区影院| 久久久精品午夜免费不卡| 久久综合狠狠综合久久综合88| 亚洲国产日韩欧美综合久久| 久久久久国产一区二区| 青青草国产成人久久91网| 91久久婷婷国产综合精品青草| 久久精品国产清自在天天线| 中文字幕无码av激情不卡久久| 久久精品夜色噜噜亚洲A∨| 青青草国产精品久久| 一本色道久久88加勒比—综合| 99国产精品久久久久久久成人热| 一本色道久久88精品综合| 久久精品国产亚洲av麻豆蜜芽|