gpt4 book ai didi

c++ - 使用 VS2010 MFC 的简单 DLL + 测试应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 13:55:12 47 4
gpt4 key购买 nike

我正在尝试构建一个非常简单的支持 MFC 的 DLL 文件。我使用 VS2010。

我在网上找到的所有例子都展示了如何导出类函数成员。

但我的客户端,最终应该是一个C 程序。意思是,它不知道使用类和对象。我只需要为它导出一些简单的函数。

到目前为止,我所做的是将以下内容放入我的 dll cpp 文件中:

extern "C" __declspec(dllexport) CString SayHello (CString strName){
return theApp.SayHello(strName);
}

在我写的应用类上:

CString CMyDLLApp::SayHello(CString strName){
return (CString)"Hello " + strName;
}

我创建了一个简单的基于对话框的应用程序,它应该像这样使用这个功能

CString strResult = SayHello(m_edit);

在我将 DLL h 文件包含在文件顶部之后:

#include "..\MyDll\MyDll.h"

但是编译器说:error C3861: 'SayHello': identifier not found

你能指导我怎么做吗?不要让我不要在我的 DLL 上使用 MFC,因为我想使用它的 DB 类。

另外,如何测试呢?我不关心测试程序本身是否也是基于 MFC 的。

最佳答案

在您的应用中尝试此声明以消除编译器错误:

extern "C" __declspec(dllimport) CString SayHello (CString strName);

但是您不能直接从 DLL 中获取 theApp。添加另一个 DLL 函数以将指向 theApp 的指针传递给 DLL。

关于c++ - 使用 VS2010 MFC 的简单 DLL + 测试应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21799715/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com