深入C++Builder 探訪動態連結函式庫 (Dynamic Linking Libraries,DLLs)
NaCl -動態連結函式庫(Dynamic Linking Libraries,DLLs)
在 VC2005 裡,可以建立的範本似乎僅有 MFC DLL 專案,
依據其說明,此專案也可建立非MFC應用程式使用的 DLL
1. 在新增專案裡直接選 "Visual C++" -> "MFC" -> "MFC DLL"
2. 設定 MFC 是採用共用 DLL 或靜態連結,目前僅測試共用DLL的類型
3.新增新類別,假設類別名稱是 test (專案自動產生的檔案可以暫時都不要理它)
test.h 檔的內容︰
#pragma oncetest.cpp
#ifdef DLL_EXPORT
#define DLLACT __declspec(dllexport)
#else
#define DLLACT __declspec(dllimport)
#endif
// 宣告
extern "C" class DLLACT test
{
public:
test(void);
public:
~test(void);
void ShowDialog();
};
#undef DLLACT
#include "StdAfx.h"4. 編譯dll專案
#include "test.h"
test::test(void) { }
test::~test(void) { }
void test::ShowDialog()
{
AfxMessageBox("Hello World!!", NULL, MB_OK);
}
5. 建立另外一個新專案,把上述編譯完成的 .dll, .lib, 及 test.h 檔複製到新專案目錄下
6. 在新專案的屬性設定中引用 .lib 函式庫
7. 在程式中引用 test.h ,並直接使用 test 類別
透過這樣的方式,就可以編譯好一個擁有 test 類別的 dll 檔,並可以在新專案中,以使用靜態函式庫的方式來使用 test 這個類別。
No comments:
Post a Comment