Shared-Library
如何將 32 位共享庫(.so 文件)連結到 32 位執行檔?
簡短的問題
我嘗試使用
gcc -m32 -c file.c -o file.o -Llib -llibname
命令將我的 32 位共享庫(.so
文件)連結到 32 位執行檔。但似乎沒有添加庫。長問題
我製作了 32 位核心,現在,我為我的核心製作了一個庫,我想將我的庫連結到我的核心。
我嘗試使用
gcc -m32 -nostdlib -nostdinc -fno-builtin -c kernel/kernel.c -o kernel/kernel.o -Llib -lkernel
命令。但似乎沒有添加庫。(
kernel/kernel.c
是我的核心 C 文件,lib/libkernel.so
也是我的庫.so
文件。我.so
使用gcc -m32 -nostdlib -nostdinc -fno-builtin -fPIC -shared lib/libkernel/printf.c -o lib/libkernel.so
命令創建了我的文件。)
我們必須創建靜態庫(例如
ar rcs libname.a lib.o
)並連結它(例如ld -melf_i386 -Llib -lname
)。