在CentOS系統中,使用GCC編譯器生成動態庫(共享庫)的步驟如下:
hello.c
的文件,內容如下:#include <stdio.h>
void hello() {
printf("Hello, World!\n");
}
.o
文件)。在終端中,使用以下命令:gcc -c hello.c -o hello.o
這會生成一個名為hello.o
的目標文件。
gcc
編譯器將目標文件鏈接為動態庫。在終端中,使用以下命令:gcc -shared -o libhello.so hello.o
這會生成一個名為libhello.so
的動態庫文件。
現在,你已經成功生成了一個名為libhello.so
的動態庫。要在程序中使用這個庫,需要在編譯程序時指定庫的路徑和名稱。例如,創建一個名為main.c
的文件,內容如下:
#include <stdio.h>
void hello();
int main() {
hello();
return 0;
}
然后,使用以下命令編譯main.c
文件,并鏈接到libhello.so
動態庫:
gcc main.c -L. -lhello -o main
這里,-L.
表示在當前目錄下查找庫文件,-lhello
表示鏈接名為libhello.so
的庫。
最后,運行生成的可執行文件main
:
./main
輸出結果應為:
Hello, World!