首先是在dll中實現類得宣告 。新增inc.h標頭檔案
[cpp]view plain
copy
class
__declspec
(dllexport
) cpreson
;
在dllmain.cpp中或自定義個個inc.cpp檔案實現類
[cpp]view plain
copy
cpreson::cpreson()
cpreson::~cpreson()
cpreson::cpreson(char
*lpname,
intnage)
} char
*cpreson::getname()
intcpreson::getage()
[cpp]view plain
copy
********注意寫好dll後 用depends檢視匯出函式時會發現匯出的函式名不是你寫的那樣出現所謂的亂碼入?等*************這就注定dll不能通過顯示連線的方式匯入。
如果想通過顯示連線的方式匯入可以為類新增乙個友元函式去實現顯示連線建立類得物件**************************************
呼叫dll首先要包含inc.h標頭檔案
再隱式鏈結dl 「 l#pragma comment(lib,"d:\\dllsample.lib") "
[cpp]view plain
copy
#include "inc.h"
#include
using
namespace
std;
#pragma comment(lib,"d:\\dllsample.lib")
int_tmain(
intargc, _tchar* argv)
DLL 匯出類的問題
使用dll的乙個比較嚴重的問題就是編譯器之間的相容性問題。不同的編譯器對c 函式在二進位制級別的實現方式是不同的。所以對基於c 的dll,如果編譯器 不同就有很麻煩的。如果建立的是mfc擴充套件dll,就不會存在問題,因為它只能被動態連線到mfc的客戶應用程式。這裡不是本文討論的重點。一 重新編譯問...
C 的dll匯出類
首先建乙個dll 專案 然後做乙個公用的標頭檔案 export.h ifndef export h define export h struct icalculator endif 這個標頭檔案封轉乙個基類 然後再dll模組中做乙個子類,繼承於這個基類 calculator.h ifndef cal...
DLL中匯出類
dll中定義的類可以在應用工程中使用。下面的例子裡,我們在dll中定義了point和circle兩個類,並在應用工程中引用了它們。檔名 point.h,point類的宣告 ifndef point h define point h ifdef dll file class declspec dlle...