使用Visual Studio建立新的library項(xiàng)目氓癌,就可以知道怎么做了。
頭文件:
// 下列 ifdef 塊是創(chuàng)建使從 DLL 導(dǎo)出更簡(jiǎn)單的
// 宏的標(biāo)準(zhǔn)方法统扳。此 DLL 中的所有文件都是用命令行上定義的 PROJECT1_EXPORT
// 符號(hào)編譯的喘帚。在使用此 DLL 的
// 任何其他項(xiàng)目上不應(yīng)定義此符號(hào)。這樣咒钟,源文件中包含此文件的任何其他項(xiàng)目都會(huì)將
// PROJECT1_API 函數(shù)視為自 DLL 導(dǎo)入吹由,而此 DLL 則將用此宏定義的
// 符號(hào)視為是被導(dǎo)出的。
#ifdef PROJECT1_EXPORTS
#define PROJECT1_API __declspec(dllexport)
#else
#define PROJECT1_API __declspec(dllimport)
#endif
// 此類(lèi)導(dǎo)出自 Project1.dll
class PROJECT1_API CProject1 {
public:
CProject1(void);
// TODO: 在此添加您的方法朱嘴。
};
extern PROJECT1_API int nProject1;
PROJECT1_API int fnProject1(void);
源文件:
// Project1.cpp: 定義 DLL 應(yīng)用程序的導(dǎo)出函數(shù)倾鲫。
//
#include "stdafx.h"
#include "Project1.h"
// 這是導(dǎo)出變量的一個(gè)示例
PROJECT1_API int nProject1=0;
// 這是導(dǎo)出函數(shù)的一個(gè)示例粗合。
PROJECT1_API int fnProject1(void)
{
return 42;
}
// 這是已導(dǎo)出類(lèi)的構(gòu)造函數(shù)。
// 有關(guān)類(lèi)定義的信息乌昔,請(qǐng)參閱 Project1.h
CProject1::CProject1()
{
return;
}
Exporting C++ from dlls寫(xiě)的也很不錯(cuò)隙疚。