Matlab .m文件转化为C#中Dll问题

Matlab .m文件转化为C#中Dll问题,第1张

实现matlab的m文件转化为c,c++文件。

2006-09-18 08:40

mcc函数实现matlab的m文件转化为c,c++文件。

命令的格式为:

mcc[-option]fun[fun2...][mexfile1...][mlifile...]

此函数的作用是将matlab程序fun.m转化为c程序fun.c或者c++程序fun.cpp

转化后的文件默认在当前目录中。

若M文件多于一个,那么每个文件对应转化相应的c和c++文件

若源文件包含c文件,则将它们同新生成的c文件一起编译。

一些有用的option参数解释如下:

————————————————————————————————————

c 转化为c语言文件但是不生成mex文件或者独立应用程序

d<directory> 指定生成的文件目录

G/g 进入调试状态

h 编译帮助函数,所以的m文件都将编译到mex文件或者独立应用程序

L《option》 指定目标语言为option,其中c,cpp,p分别代表c语言,c++,matlab语言

m 指定创建独立c语言应用程序的宏,作用等于‘-t-W main -L C-h-T link:exe libmmdile.mlib’

M"<string>" 向MBLID或者mex教本传递string中包含的信息

o<outputfilename> 指定输出文件名

O<optimization> 指定优化参数

p 指定创建独立c++语言应用程序的宏 作用等于-t-W main -L Cpp-h-T link:exe libmmdile.mlib’

v 详细显示编译步骤

x 指定创建独立mex文件的宏,作用等于-t-W main -L C-T link:exe libmmdile.mlib’

S 转化为simuink的s函数

————————————————————————————————————

————————————————————————————————————

eg

现有m文件main.m mrank.m,主函数main中调用了子函数mrank

main.m

function main

r=mrank(5)

mrank.m

function r=mrank(n)

r=zeros(n,1)

for k=1:n

r(k)=rank(magic(k))

end

在matlab环境下执行主程序可以看到结果

》》main

r=

1

2

3

3

5

现在要把他们转化为c和cpp程序

在matlab工作窗口中输入下面命令

》》mcc-mc main mrank

可以得到下面个文件:

main.c

main.h

main-main.c

mrank.c

mrank.h

在matlab中输入下面命令

mcc -lcpp main mrank

可以得到下面5个文件

main.cpp

main.hpp

main-main.cpp

mrank.cpp

mrank.hpp

有了这些程序以后,就可以在其他c,c++程序中方便调用了

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

创建独立可执行程序

方法1:编译m文件为可执行程序

mcc -m main mrank

or

mcc -p main mrank

方法2:将编译的c c++转化为可执行程序

mbuild main.c main_main.c mrank.c

or

mbuild main.cpp main_main.cpp mrank.cpp

你好:

很高兴能帮到您,不妨直接重认命!

如果你的电脑提示丢失的话:

去网上下载这个DLL文件,将其放置到system32目录下面

重启系统,或者在CMD下面运行regsvr32 *.dll注册该DLL

同时我还推荐用管家修复缺失DLL文件的,腾讯电脑管家的电脑诊所有这个功能哟!

如果您对我的答案不满意,可以继续追问或者提出宝贵意见,谢谢,祝您生活愉快

如果M文件是函数形式,例如:%示例function[A,B]=fx(x,y,z)%那么需要在主窗口中输入函数调用命令,拿上面实例代码为例,需要在主窗口中输入:[A1,B1]=fx(x1,y1,z1),其中x1,y1,z1是你要传递的参数如果m文件不是函数形式,只是一系列运算过程代码,那么直接点击运行即可,运行方法有很多,最简单的是如下:点击红框区域内的绿色按钮直接便可以运行M文件。


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

原文地址: http://outofmemory.cn/tougao/11628654.html

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

发表评论

登录后才能评论

评论列表(0条)

保存