5
我正在創建一個共享對象庫,它將與我的程序一起LD_PRELOADed。在那個共享庫中,我也想從我的程序中使用一些變量。聲明這些變量的方式是什麼?請注意,共享對象庫是與我的程序分開編譯的。如何在共享對象庫中共享變量
我正在創建一個共享對象庫,它將與我的程序一起LD_PRELOADed。在那個共享庫中,我也想從我的程序中使用一些變量。聲明這些變量的方式是什麼?請注意,共享對象庫是與我的程序分開編譯的。如何在共享對象庫中共享變量
是的。您必須將程序與--export-dynamic
關聯起來,才能使打開庫的程序的符號表可用。如果您希望準確控制哪些符號可用並使用libtool
進行鏈接,則可以使用參數-export-symbols-regex
來指定哪些符號可用。如果程序加載時庫所需的符號不可用,則它將失敗並顯示未定義的符號。有些平臺需要稍微不同的鏈接標誌(特別是Windows)。如果您尚未使用libtool
,請考慮使其更容易。