dll中定義的類可以在應用工程中使用。
下面的例子裡,我們在dll中定義了point和circle兩個類,並在應用工程中引用了它們。
//檔名:point.h,point類的宣告
#ifndef point_h
#define point_h
#ifdef dll_file
class _declspec(dllexport) point //匯出類point
#else
class _declspec(dllimport) point //匯入類point
#endif
;#endif
//檔名:point.cpp,point類的實現
#ifndef dll_file
#define dll_file
#endif
#include "point.h"
//類point的預設建構函式
point::point()
//類point的建構函式
point::point(float x_coordinate, float y_coordinate)
//檔名:circle.h,circle類的宣告
#ifndef circle_h
#define circle_h
#include "point.h"
#ifdef dll_file
class _declspec(dllexport)circle //匯出類circle
#else
class _declspec(dllimport)circle //匯入類circle
#endif
;#endif
//檔名:circle.cpp,circle類的實現
#ifndef dll_file
#define dll_file
#endif
#include "circle.h"
#define pi 3.1415926
//circle類的建構函式
circle::circle()
//得到圓的面積
float circle::getarea()
//得到圓的周長
float circle::getgirth()
//設定圓心座標
void circle::setcentre(const point ¢repoint)
//設定圓的半徑
void circle::setradius(float r)
類的引用:
#include "../circle.h" //包含類宣告標頭檔案
#pragma comment(lib,"dlltest.lib");
int main(int argc, char *argv)
從上述源**可以看出,由於在dll的類實現**中定義了巨集dll_file,故在dll的實現中所包含的類宣告實際上為:
class _declspec(dllexport) point //匯出類point
和class _declspec(dllexport) circle //匯出類circle
而在應用工程中沒有定義dll_file,故其包含point.h和circle.h後引入的類宣告為:
class _declspec(dllimport) point //匯入類point
和class _declspec(dllimport) circle //匯入類circle
從DLL中匯出類
用def從dll匯出 乙個函式,或用 declspec dllexport 指令從dll中匯出乙個類,想必大家已經很熟悉了,也經常使用著。這裡向大家介紹一種用def檔案從dll匯出乙個類的方法。具體原理或為什麼就不廢話了,學會匯出後,再慢慢回味吧。這裡主要敘述操作步驟。1。開啟vc6.0,新建乙個 ...
從dll中匯出類
三 在客戶程式中使用dll 編譯乙個dll時將建立兩個檔案.dll檔案和.lib檔案。首先將這兩個檔案複製到客戶程式專案的資料夾裡,這裡需要注意dll和客戶程式的版本問題,盡量使用相同的版本,都使用release或者都是debug版本。接著就需要在客戶程式中設定lib檔案,開啟project set...
從DLL中匯出類
從dll中的匯出類,dll 如下 declspec dllexport stdcall class myclass 類 void stdcall myclass setvalue int a,int b 成員函式 int stdcall myclass add 成員函式 呼叫這個dll中,先要進行類...