我阅读了一些文档,其中给出了与 C 兼容的函数的简单示例。
__declspec(dllexport) MyFunction();
我对此很满意。我写了一个小应用程序使用这个dll的功能。我使用了显式链接
LoadLibrary()
功能。C 风格的函数可以正常工作。但是当我把我的课写成
namespace DllTest
{
class Test
{
public:
__declspec(dllexport) Test();
__declspec(dllexport) void Function( int );
__declspec(dllexport) int getBar(void);
private:
int bar;
};
}
#endif
它编译良好并创建了 Dll。在使用 C 风格的函数时,我只是从 LoadLibrary() 和 GetProcAddress(...) 函数中获取函数指针。
我以前的用法是
typedef void (*Function)(int);
int main()
{
Function _Function;
HINSTANCE hInstLibrary = LoadLibrary(TEXT("test.dll"));
if (hInstLibrary)
{
_Function = (Function)GetProcAddress(hInstLibrary,"Function");
if (_Function)
{
// use the function
但现在我不知道如何实例化我的类?如何使用显式链接或隐式链接?
任何有关代码示例的帮助将不胜感激。