怎么实现matlab子程序的放置以及调用

怎么实现matlab子程序的放置以及调用,第1张

1、在电脑桌面上打开MATLAB。

2、当你没有把你编辑好的子函数放入正确的文件夹时,不管你输入的程序是否有错,当你执行时,系统都会提示“没有定义”,这个时候就是没有子函数文件放到主函数库文件夹中。

3、首先,输入“edit conv”这个“conv”是我准备编辑的子函数的主函数名,每个人所需的主函数名都不一样,这里可以不要那么在意。然后就可以打开相应的主函数,这是可以看到主函数所在文件夹位置。如图所示,※记住这个位置。

4、然后进行子函数的编辑,首先新建一个新的m文件,然后在编辑框中输入所要的子函数,例如我就是输入了convnem的函数,这是conv的子函数。然后点击保存。

5、接下来,在“conv”所在文件位置,将位置记录下来,将子函数的文件保存到主函数所在的文件夹即可,然后在重新的将你所需的程序(含有子函数的)输入并且执行,这时你会发现原来提示的错误没有了,那么这时调用自己添加的子函数成功了。以后有相应的子函数都可以通过这样的方法进行添加子函数。

先把键盘输入的放到一个通用寄存器
然后用 JE 判断这个通用寄存器的值是不是你的期望值,是的话就调用子程序,不是就……
好久没看汇编,自己也忘的差不多了~。~!
希望能帮上一点小忙

从main主函数开始运行,运行至fun函数处,fun函数先把实参a(值为1)传递给形参p,但是在函数fun内,p被赋值2,(d在做完这个运算后自增了1,假如这里printf变量是d的话,d就是3了)之后,p被printf函数调用,屏幕上出现2;返回主函数main,a的值没有改变,所以最终结果是21(之间无空格)。

1、打开Microsoft Visual Studio 2010,选择文件->新建->项目。 
 
2、在新建项目窗口中选择其他语言->Visual C#->类库,设置名称:MathDLL,设置解决方案名:MathDLL。 
 
3、单击确定完成项目创建 
4、将类Class1重命名为”MathTest“ 
5、为类MathTest添加以下代码:

[csharp] view plain copy

using System;

using SystemCollectionsGeneric;

using SystemLinq;

using SystemText;

namespace MathDLL

{

public class MathTest

{

public int demoAdd(int x, int y)

{

int sum;

sum = x + y;

return sum;

}

}

}


C++客户端程序创建

1、打开Microsoft Visual Studio 2010,选择文件->新建->项目。 

2、在新建项目窗口中选择其他语言->Visual C++->Win 32控制台应用程序,设置名称:MathCon,设置解决方案名:MathCon。

3、单击确定,在出现的Win32 应用程序向导的概述对话框中点击下一步。

4、在应用程序设置中,选择应用程序类型下的控制台应用程序,勾选附加选项下的”预编译头“。

5、单击完成创建项目

6、将C#编写的DLL文件放置在C++的可执行程序目录

7、使用#using引用C#编写的DLL文件MathDLLdll,具体代码如下:

[cpp] view plain copy

#include "stdafxh"

#using "/debug/MathDLLdll"

using namespace MathDLL;

int _tmain(int argc, _TCHAR argv[])

{

int sum,x,y;

x=10;

y=22;

MathTest ^a = gcnew MathTest();

sum=a->demoAdd(x,y);

sum=x+y;

[cpp] view plain copy

printf("计算结果:%d",sum);

return 0;

}


8、配置C++项目MathCon的属性配置:添加公共语言运行支持。

9、运行结果如下:

注意:

1、使用#using引用C#编写的DLL,而不是#include

2、引用C#的DLL后,还需要添加该DLL的命名空间using namespace MathDLL

3、使用C++/clr语法,采用正确的方式访问托管对象,即:使用帽子“^”,而不是“”


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13391330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存