linux/Unix 動態so文件初識
1.so文件是什麼?
ELF格式文件,共享庫(動態庫),類似於DLL。節約資源,加快速度,代碼升級簡化。
2.怎麼生成以及使用一個so動態庫文件?
1.編寫第一個so文件庫,在終端輸入
vim libtest.c
libtest.c代碼
#include <stdio.h>
// 打印消息的函數
void print_str(const char *str)
{
printf("%s\n",str);
}
- 編譯libtest.c 爲動態庫 libtest.so
gcc -O -fpic -shared -o libtest.so libtest.c
3.使用剛剛編譯好的動態庫
編寫test.c
#include <stdio.h>
// 聲明剛剛動態庫裏打印消息的函數
void print_str(const char *str);
int main(int argc, char const *argv[])
{
print_str("this is my first so program");
return 0;
}
編譯運行
gcc -o test test.c ./libtest.so
./test