没有合适的资源?快使用搜索试试~ 我知道了~
说实话,我觉得C#与Matlab混合编程相比VC与Matlab混合编程没有啥优势,基本上还是通过P/V Invoke操作Matlab mcc编译器生成的C语言版本的DLL。此外,速度上也慢的吓人
资源推荐
资源详情
资源评论
说实话,我觉得 C#与 Matlab 混合编程相比 VC 与 Matlab 混合编程没有啥
优势,基本上还是通过 P/V Invoke 操作 Matlab mcc 编译器生成的 C 语言版
本的 DLL。此外,速度上也慢的吓人-_-
下面简单写写 C#与 Matlab 混合编程的 4 种方式(可能还不够全,欢迎补
充):
1.通过从 Matlab 的*.m 文件中生成 C 语言版本的 DLL
具体过程:
1) 在 Matlab 中写好一个 m 文件(比如一个简单的加法函数 myplus.m);
2) 使用 Matlab 的 mbuild -setup 选择编译器,我机器上的编译器有两个
LCC 和 VC2008(注意如果使用 VS.net 做应用的话,建议编译器选
VC2008,否则 C#中会告诉你 DLL 找不到 Entry Point)
3) 在命令行中使用 mcc -B csharedlib:mypluslib myplus.m (如果是多个
M 文件,接着往后写),等待几十秒之后会生成若干文件(*.c, *.h, *.dll 等), 其
中.h 文件中有导出的函数原型。
4) 建立 C#工程,并将前面的 dll 拷贝到合适路径,使用
[ DllImport( "mypluslib.dll ", CallingConvention =
CallingConvention.Cdecl)] 将.h 文件中的函数使用 C#的语法声明。一般
来说,这些函数中会有**Initialize,**Terminate 和 M 文件中定义的函数(*
*代表 lib 名称)。
5) 使用 CsharpMatlabCompilerVer4.cs
将 C#中的数据类型和 Matlab 中
的矩阵等类型进行变换。该文件定义了 MatlabCSharp 类,主要是导入了
资源评论
raul132
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功