回覆列表
  • 1 # 使用者1073844085919

    1>首先生成目標檔案,但是此時要加編譯器選項-fpic和連結器選項-shared,

    gcc-fpic-cadd.c

    gcc-fpic-csub.c

    生成中間檔案add.o和sub.o

    2>其次生成動態庫

    gcc-shared–olibtiger.soadd.osub.o

    生成動態庫libtiger.so,libtiger.so就是我們生成的目標動態庫。我們以後使用動態庫和main.c程式生成可執行程式

    說明:

    以上兩部也可以合成一步搞定:

    gcc-fpic-sharedadd.csub.c-olibtiger.so

    2.使用動態連結庫

    在編譯程式時,使用動態連結庫和靜態庫是一致的,使用”-l庫名”的方式,在生成可執行檔案的時候會連結庫檔案。

    1>使用命令:

    gcc-omainmain.c-L./-ltiger

    2>-L指定動態連結庫的路勁,-ldtiger連結庫函式tiger。-ltiger是動態庫的呼叫規則。Linux系統下的動態庫命名方式是lib*.so,而在連結時表示位-l*,*是自己命名的庫名。

    3>但是程式會提示如下錯誤

    errorwhileloadingsharedlibraries:libtiger.so:cannotopensharedobjectfile:Nosuchfileordirect

  • 中秋節和大豐收的關聯?
  • 黑朱元璋的人為什麼這麼多?