在VS2015中用C++创建MFC规则动态库DLL

一个朋友让我帮忙把一个人用c写的函数生成为动态链接库文件(*.dll)以便用其他编程语言调用,找了好久一直失败,之后发现一个帖子讲的很全,而且亲测成功,这里转过来。

VS2015用C++创建MFC规则动态库DLL步骤如下:

(1)启动VS2015》文件》新建》项目,按下图进行选择填写


(2)在MFC DLL向导中选择【下一步】


(3)按下图所示进行选择

(4)项目创建后整体效果如下图


(5)在MFCDLLTest.cpp中写入下图红框中的代码


(6)在MFCDLLTest.h中写入下图红框中的代码,在MFC动态库中.h文件是不能省的,并且extern "C"也是不可以省略的


(7)在MFCDLLTest.def中写入下图红框中的代码


(8)在项目上右击选择属性,注意是项目不是解决方案,进行如下修改


通过上面的勾选,生成的动态库就可以摆脱对VS2015安装环境的依赖,从而可以被其它语言调用

(9)在生成解决方案前先进行如下修改,CPU选X86还是X64随便你啦,在生成菜单中生成MFCDLLTest即可,在Release文件夹下找到dll文件ok了


(10)请注意一定要是Release模式而不能是Debug模式,否则生成的动态库DLL文件还是不能被其他语言调用,即使将Debug模式按上面两个步骤进行更改也是不可以的,原因现在还不清除,估计可能是VS2015的问题。可查看Release文件夹和Debug文件夹中生成的动态库DLL文件的大小也是不同的。

(11)用def文件导出的动态库DLL既可以保证函数名不变也可以保证动态库DLL的入口点函数名不变。


  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Visual Studio中使用MATLAB模糊逻辑工具箱,需要按照以下步骤进行操作: 1. 安装MATLAB并确保已安装模糊逻辑工具箱。 2. 在Visual Studio中创建一个新的C语言项目。 3. 在项目中添加MATLAB引擎库,这可以通过在“项目属性”中的“链接器”选项卡下设置来完成。 4. 添加MATLAB头文件,这可以通过在项目中添加MATLAB的“include”目录来完成。 5. 在代码中编写调用MATLAB模糊逻辑工具箱的代码。 下面是一个简单的示例代码,演示如何使用MATLAB模糊逻辑工具箱来进行模糊控制: ```c #include <stdio.h> #include <mat.h> int main() { double in[3] = { 0.5, 0.7, 0.9 }; double out; // 初始化MATLAB引擎 Engine *ep = engOpen(NULL); if (ep == NULL) { printf("无法打开MATLAB引擎\n"); return -1; } // 调用MATLAB模糊逻辑工具箱,进行模糊控制 mxArray *plhs[1], *prhs[1]; prhs[0] = mxCreateDoubleMatrix(3, 1, mxREAL); memcpy((void *)mxGetPr(prhs[0]), (void *)in, sizeof(in)); engEvalString(ep, "fis=readfis('myfuzzycontroller.fis');"); engEvalString(ep, "out=evalfis(fis, [in1 in2 in3]);"); plhs[0] = engGetVariable(ep, "out"); memcpy((void *)&out, (void *)mxGetPr(plhs[0]), sizeof(out)); // 输出模糊控制结果 printf("模糊控制结果:%f\n", out); // 关闭MATLAB引擎 mxDestroyArray(prhs[0]); mxDestroyArray(plhs[0]); engClose(ep); return 0; } ``` 在上面的代码中,我们首先初始化了MATLAB引擎,然后调用MATLAB模糊逻辑工具箱中的函数,将输入传递给模糊控制器,并获取输出结果。最后,我们输出了模糊控制的结果,并关闭了MATLAB引擎。 需要注意的是,该示例代码仅供参考,具体实现方式可能会因不同的应用场景而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值