一、靜態庫編寫
1.首先當然是開vs然後建立乙個靜態庫工程啦
2.格式.一般有標頭檔案.h和原檔案.cpp,當然你也可以寫一在乙個cpp裡.
mydll.h------------------------
extends "c"
mydll.cpp--------------------
#include "mylib.h"
int sum(int num1,int num2)
int mult(int num1,int num2)
3.編譯得到lib,然後拿埋mydll.h就可以使用了
二、動態庫編寫
1.首先建立乙個動態工程.
2.格式.
mydll.h------------------------
#ifdef dll_api
#else
#define dll_api extern "c" _declspec(dllimport)
#endif
dll_api int _stdcall add(int a,int b);
mydll.cpp--------------------
#define dll_api extern "c" _declspec(dllexport)
#include "mydll.h"
#include
int add(int a,int b)
3.編譯的到lib,和dll,然後拿埋編寫的mydll.h就可以使用了.
個人想說的話:動態庫必須要用_declspec()字樣標識,但是靜態的就不用了.extends "c" 和_stdcall都是呼叫方式,
詳細看這裡
-----------------------使用方法
一、靜態庫包括.lib和.h檔案,在工程中使用靜態庫分為3步:
1、在工程中加入靜態庫,有兩種方法:
方法一:專案設定中引用.lib,project-setting-link-object/library modules中新增.lib;(需要在tools/options設定正確的引用路徑)
方法二:在專案中直接加入lib,project-add to project-files,選擇正確的.lib。
方法三: #pragma comment(lib, "##/##/mine.lib")
2、在工程中包括.h檔案;(可能需要在tools/options設定正確的引用路徑)
3、在工程中使用靜態庫中的函式;
2、動態載入,直接使用loadlibrary() freelibrary( ) getprocaddress() 載入所需的動態庫,然後指定所需的匯出函式,效率最高
靜 動態鏈結庫使用總結
編寫方法 visual studio為例 一 靜態庫編寫 1.首先當然是開vs然後建立乙個靜態庫工程啦 2.格式.一般有標頭檔案.h和原檔案.cpp,當然你也可以寫一在乙個cpp裡.mydll.h extends c mydll.cpp include mylib.h int sum int num...
使用動態鏈結庫
1.動態鏈結庫是程式執行時載入的庫,當動態鏈結庫正確安裝後,所有的程式都可以使用動態庫來執行程式。動態鏈結庫是目標檔案的集合,目標檔案在動態鏈結庫中的組織方式是按照特殊方式形成的。庫中函式和變數的位址是相對位址,不是絕對位址,其真實位址在呼叫動態庫的程式載入時形成。2.動態鏈結庫的名稱有別名 son...
使用動態鏈結庫
1.先建立乙個動態鏈結庫的工程 vs下,file new project win32 project dll t.h ifdef myapi export define myapi declspec dllexport else define myapi declspec dllimport end...