1.建立標頭檔案mydll.h
#pragma once
//內部函式,動態庫自己呼叫,其他程式不能呼叫
//外部函式,外部呼叫
//__declspec(dllexport)匯出函式
__declspec(dllexport) int myadd(int a, int b);
2.建立原始檔mydll.c
#include "mydll.h"
int myadd(int a, int b)
3.右鍵專案,選擇屬性,在常規裡將配置型別改為動態庫(.dll)
4.右鍵專案,重新生成,在debug資料夾下得到project.lib (物件檔案庫)和project.dll(動態庫),庫的名稱是專案名稱
我們需要把project.lib
,project.dll
檔案和mylib.h
發給別人使用
1.將動態庫三個檔案拷貝到當前專案資料夾下
#include #include #include #include "mydll.h"//包含動態庫的標頭檔案
#pragma comment(lib,"./tesdll.lib")//匯入動態庫
int main(int argc, char** ar**)
編譯時不引入,執行時引用,所以不占用空間
python只需要把.dll
檔案複製到專案目錄下即可
import ctypes
lib = ctypes.cdll.loadlibrary("./tesdll.dll")
lib.myadd(10,20)
C語言 Win靜態庫
1.建立標頭檔案mylib.h pragma once int myadd int a,int b 2.建立原始檔mylib.c include mylib.h int myadd int a,int b 3.右鍵專案,選擇屬性,在常規裡將配置型別改為靜態庫 lib 4.右鍵專案,重新生成,在deb...
C語言 靜態庫與動態庫
一.靜態庫 靜態庫 要被包含到源程式中的庫 1.優點執行速度快 2.缺點占用系統資源比較多 3.使用的場合對時間要求很高的場合 4.靜態庫的製作 1 把所有的源程式 c檔案 製作成目標檔案 o 檔案 gcc c mul.c o mul.o gcc c sub.c o sub.o gcc c add....
c語言呼叫c語言的so動態庫
1.環境 ubuntu14.o4 gcc 4.8.4 2.庫檔案生成 1 原始碼 int add int a,int b 2 生成庫檔案 cd到cltest.c所在目錄,輸入命令 gcc shared o libcltest.so cltest.c會在當前目錄生成檔案libcltest.so 3.主...