編寫一個簡單的動態庫並調用。
動態庫代碼:
HelloWorld.c
/**
* 簡單動態庫文件使用
*/
#include "HelloWorld.h"
void hello(void)
{
printf("Hello World \r\n");
return ;
}
動態庫頭文件
#include <stdio.h>
void hello(void);
編譯動態庫Makefile
#
# Linux 一個簡單的HelloWorld動態庫創建與使用例子
#
# -shared 指定生成動態鏈接庫
# -fPIC :表示編譯爲位置獨立的代碼,用於編譯共享庫
# 動態庫默認搜索路徑是/lib和/usr/lib下面,這裏生成後複製到/usr/lib下面
dynlib:
gcc -shared -fPIC -o libHelloWorld.so HelloWorld.c
cp -rf libHelloWorld.so /usr/lib/
測試程序:
/**
* 動態庫的使用
*/
#include "HelloWorld.h"
int main(void)
{
hello();
return 0;
}
編譯命令:
app:
gcc -o demoapp call_lib.c -L./ -lHelloWorld
測試截圖: