关于C#调用matlab生成的.dll文件时的问题

本人用matlab做了一个海浪波长计算程序,想在C#中调用该程序,自己始终无法调用。
也找了网上一些资料,按他们所说的做,结果发现引用后的.dll文件无法应用(已在注册表添加过注册),希望有经验的前辈帮忙解答一下,谢谢。

2个回答

我使用的是:VS 2008, matlab R2009a;

 

  1. 首先遇到的第一个问题是:**** 类型初始值设定项引发异常.

在网上搜到一篇文章,摘录如下:http://blog.sina.com.cn/s/blog_6622f5c30100hhja.html

 

安装MCRInstall.exe,我安装完Matlab之......
答案就在这里:C#调用matlab生成的dll文件问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#调用Matlab生成dll
利用Matlab在矩阵运算上的强大优势,使C#程序在计算大矩阵上获得较大的提速,满足对时间的要求。 由于本代码先于说明文档上传,该说明文档可以在http://www.baidu.com/p/taomengbingxin?from=wenku中查找
关于Matlab生成的Dll文件的调用
有两个Matlab文件被编译成了Dll文件,在C++中调用rnrn第一个文件成功调用,同时开了一个matlab的图形框(不知道怎么关)rnrn但第二个文件调用时,却不能正常解压缩rn就停在Initialize()那里不动了rnrn好像写Lost thread messagernrn不知道是不是第一个dll文件调用时是不是打开了什么进程,阻碍了第二个dll的调用?rnrn不知道有没有哪位朋友可以指点一下?rnrn
c# 调用matlab生成的dll问题
听说matlab可以生成个dll,然后c#就可以引用它后就直接调用.我想问一下能不能在其他电脑那里生成dll,拷到没装matlab的电脑那里用c#调用那个dll呢?
c#调用 matlab编译的dll文件的问题
http://www.cnblogs.com/horizon_king/archive/2011/01/21/1941220.htmlrnrnrn我觉得这个例子写的很详细、也很简单了。rnrn但在c#里面调用 rnrnTwice c = new Twice(); 出问题。rnrn错误 1 找不到类型或命名空间名称“Twice”(是否缺少 using 指令或程序集引用?) E:\public safety2\MatlabTest\Form1.cs 36 13 MatlabTestrnrnrn我不懂matlab,我同事又不懂 c#,所以现在不好判断问题出在哪里?rnrn请高手看看上面提供的方法问题在哪里?
C#调用dll,dll生成文件
用C#调用C的dllrnrn想实现这样的功能:rndll里的函数生成一个文本文件rnC#把文件内容读取到一个文本框里rnrn[code=C/C++]extern "C" _declspec(dllexport) void vigenere_ic(char *strings)rnrn char result_name[]="IC_result.txt"; rnrn FILE *p;rnrn p=fopen(result_name,"w");rn fprintf(p,"Hello\n");rn fclose(p);rnrnrn[/code]rnrn[code=C#]rn private void compute_button1_Click(object sender, EventArgs e)rn rn string file_name="IC_result.txt";rn vigenere_ic(sample_textbox1.Text);rn rn FileStream fs = new FileStream(file_name, FileMode.Open, FileAccess.Read, FileShare.None);rnrn byte[] bytetext = new byte[fs.Length];rn fs.Read(bytetext, 0, bytetext.Length);rnrn result_textbox1.Text = Encoding.ASCII.GetString(bytetext);rn fs.Close();rn rn [/code]rnrnrn编译都通过rn运行起来没生成文件rn也没有发生异常rn哪位解答一下该如何实现需要的功能?
c#调用c生成的dll文件的问题
C#调用c生成的dll文件,其中的函数的返回类型为void* 型,如void *fun(ushort a)rn请问在c#中应如何调用?
C#调用Matlab的DLL问题。
1、生成M文件,文件内容如下:rn [code=C#]rn function y = myplus(x, y)rn z = x + y ;rn [/code]rnrn2、使用mcc生成DLL文件,如mypluslib.dll;rnrn3、在C#工程里调用DLL里面的方法“mlfMyplus(1, ref mx_y, mx_a, mx_b);”跳出异常:rnrn[color=#FF0000]AccessViolationException: 尝试读取或写入受保护的内存。[/color]rnrnrn查看一些资料,都没提到会有这样的异常,应该是哪里问题呢?
C#调用matlab的dll问题
我在做C#与matlab混合编程,调用MATLAB生成的DLL,有时在运行时(在用new初始化类对象时)会出现类型初始值设定项引发异常,哪位大虾指教一下?rnvs版本是2008,matlab版本是2009Rrn
C#怎么调用MatCom生成的MatLab DLL?
我用matcom把M文件生成了dll文件,也翻译成了cpp文件。rn但是C# 调用dll的时候出了问题。rnrn.h文件是这样的rn#ifndef __MyAdd_hrn#define __MyAdd_hrnrnMm MyAdd(Mm a, Mm b);rnrn#endif // __MyAdd_hrnrn我把dll文件都放到debug文件夹下,然后调用rn[DllImport("MyAdd.dll")]rnpublic static extern int MyAdd(int a,int b);rnrnstatic void main()rnrnvar c=myAdd(1,2);rnConsole.WriteLine(c);rnConsole.ReadKey();rnrnrn报错“无法加载dll 找不到指定的模块”rn求助,应该怎么办呀?
vc调用matlab生成的dll文件
各位大侠,麻烦给小弟说一下,vc调用matlab生成的dll文件时怎么传递字符参数,比如一个路径,谢谢!
matlab生成c和c++调用的dll文件
在matlab上做了一个实验项目要转到应用中,形成dll文件能被c和c++调用。很多情况是matlab版本低找不到编译工具,或不识别本机的编译工具。 比如我的matlab开始是r2011a,实验项目也是在这个版本完成的。 《《《《《《《失败过程: 1 mex -setup 安装默认的compiler,我系统里装的是vs2013,matlab的mex找不到的。 2 mbuild -s
关于 Asp.net 调用C#生成的DLL问题
生成以后 有2个文件:/bin/debug/xxx.dll 和xxx.pdbrnrn这2个文件有什么用?rnrn我把2个文件copy到 asp.net /bin/下rn然后引用该dll,rn.cs中使用 using xxx;成功rn可是在创建新类的时候:yyy myxx=new yyy();//xxx.yyy()rn已经可以看到 myxx的属性和方法了(myxx.有提示),可是却报以下错,请教各位!rnrn发生类型为 System.StackOverflowException 的异常。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.StackOverflowException: 发生类型为 System.StackOverflowException 的异常。rnrn源错误: rnrn执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 rnrn堆栈跟踪: rnrnrn[StackOverflowException: 发生类型为 System.StackOverflowException 的异常。]rnrn rnrnrn--------------------------------------------------------------------------------rn版本信息: Microsoft .NET 框架版本:1.0.3705.288; ASP.NET 版本:1.0.3705.288
vs调用MATLAB生成的dll文件混编
1、任务 c调用MATLAB画图,进行混编 2、方法 两种: (1)引擎; (2)dll库 3、详解 (见下篇)
matlab的m文件生成dll,c调用
matlabR2014a 1.m文件 MyAdd.m function [c] = MyAdd(a, b) c = a + b; end 2.dll文件的生成 mcc -W cpplib:MyAdd -T link:lib MyAdd.m会生成下面的文件,MyAdd.dll, MyAdd.h,MyAdd.lib三个是用到的 VS2013 1 创建win32控制台
调用matlab生成的DLL文件后
各位大侠们,我用matlab生成的一个dll文件用来出图的,可是运行的时候是弹出的matlab的那种生成图,我想直接在我的image控件里显示出来,不知道怎么写,哪位高手指教一下,rn我下面把后台程序给大家看一下rnusing MathWorks.MATLAB.NET.Arrays;rnusing testdraw;//dll文件rn protected void Button1_Click(object sender, EventArgs e)rn rnrn testdraw.testclass x1 = new testclass();rn // draw.draw11 x1 = new draw11();rn double[,] dd = new double[2, 3];rn dd[0, 0] = 1;rn dd[0, 1] = 2;rn dd[0, 2] = 3;rn dd[1, 0] = 2;rn dd[1, 1] = 4;rn dd[1, 2] = 6;rn MathWorks.MATLAB.NET.Arrays.MWNumericArray d = (MathWorks.MATLAB.NET.Arrays.MWNumericArray)dd;rn x1.drawgraph(d); rnrn rn顺便把testdraw的M文件也写过来rn%最小二乘法直线拟合rn%Created by Safirst C. Ke 2007.8.29 Wed 14:51rnrnfunction drawgraph(coords)rn%传入的参数为两行向量,第一行为x坐标,第二行为坐标。rnrn%axis ([0 100 0 100]);rngrid on;rnhold on;rnrn%显示欲拟合的点的位置rnplot(coords(1,:), coords(2,:), '*');rnrn%分解x,y坐标rnx = coords(1,:);rny = coords(2,:)';rnrnb = size(coords);rnc = ones(1, b(2));rn rn MT = [c; x];rn M = MT';rn rn %f为直线函数,f = mx + b;rn f = inv(MT * M) * MT * y;rn ['y = ', num2str(f(2)), 'x + ', num2str(f(1))];rnrn rn %显示最终拟合的直线rn x = -max(x):max(x);rn y = f(1) + f(2) * x;rn rn rn plot(x, y);rn xlabel('X轴');rn ylabel('Y轴');rn title('最小二乘法直线拟合 by Safirst C. Ke');rn rn legend(['y = ', num2str(f(2)), 'x + ', num2str(f(1))]);
vs2008中调用matlab生成的DLL文件
请问大牛们如何vs2008中调用matlab生成的DLL文件;具体的步骤是怎样的,最好能多给几个程序看看
VS2008调用Matlab生成的dll文件
详细介绍了vs2008中如何调用matlab生成的dll文件,结果有效
C语言调用matlab生成DLL文件
C 语言调用matlab生成的DLL文件
C语言调用matlab引擎和调用matlab生成的DLL文件
2016/10/22 15:30 参考:http://blog.163.com/rongting_chen/blog/static/164906844201252354518462/ http://blog.csdn.net/sromg/article/details/8098026 matlab版本:R2012a,64位,VS2010 1:C语言调用matlab引擎。    V
C#调用Matlab生成的dll文件进行直接绘图操作示例
一、前期准备 1.生成可用的dll文件 C#与matlab的混合编程中,C#程序调用matlab生成的dll文件是必不可少的,利用matlab强大的数据处理能力和绘图能力,可以优化C#程序,使得程序编写更为简便。 1.1 function文件的编写 在这里使用一个网上可以查阅的matlab绘制椭圆的function函数为例,参考博客https://blog.csdn.net/biubiu_buaa...
关于VB调用matlab生成的DLL
我用MATLAB做了一个图像处理的dll,其中有个类叫做shuiyinCOMclass,现在我用VB调用这个dll,编写了如下的程序,但是运行到“Call my_shuiyin.qianru("'yinzhang.jpg'", "'info.jpg'", "'che2.jpg'")”时总出现错误:This application has requested the Runtime to terminate it in an unusual way.Please contact the application''s support team for more information.rnrnPrivate Sub Command1_Click()rnDim my_shuiyin As New shuiyinCOMclassrnDim hu As Integerrnhu = 1rnhu = 2rn[u]Call my_shuiyin.qianru("'yinzhang.jpg'", "'info.jpg'", "'che2.jpg'")[/u]'出错rnEnd Subrnrn请问这是为什么,我弄了很久都解决不了,哪位大虾知道,请指点一下。谢谢!
matlab调用VC++生成的DLL
matlab是一种脚本语言,执行效率肯定没有C语言那样高效,当然matlab支持调用由C语言生成的.dll动态链接库,从而可以达到matlab与C语言混合便宜的效果。  注意:我使用的平台是matlab2016a与vs2015 1、新建一个空项目 2、分别新建一个H文件和一个C文件,结构目录如下图: 我们来写一个测试程序,其中源文件和头文件如下所示: // TestDll.h ...
VC调用Matlab生成的dll
第1步: 打开Matlab2013a,新建add.m文件function data = add(a,b,count) % a = 1; % b = 2; % count = 1000000000; for nn = 1:count a = a+b; end data = a; end第2步: 在命令窗口依次输入mbuild –setup与mex –setup,都选择VS2010第3步: 在此
matlab调用VS生成的DLL
vs配置管理器是Debug版本,将程序生成动态链接库,在matlab调用时,弹出assert failed对话框,不知道为何会弹出错误,一开始以为是内存泄露,使用visual leak detector工具对内存进行了泄露检测,发现有内存泄露,以为是内存泄露造成的,结果再次调用还是提示同样的错误,最后听网上有人说程序中有许多指针是野指针造成的,如果vs配置管理器设置为Release版本,结果程序能
Matlab调用C#封装的dll文件(入门级)
实现步骤:1.  在VS里创建类库工程,生成testMatlab.dllnamespace testMatlab { public class Test { public static string showInfo() { return "luna luna"; } public string...
matlab调用c++生成的DLL
最近项目测试出现一个令人头疼的问题,前面半个月基本都在修复程序内存泄露,利用一些内存泄露工具进行检测,检测的时候发现有些内存泄露并不完全能够根据行来定位,最好的办法,通过程序调试,在调式的过程执行到某一步的时候,这时会弹出内存泄露,这个时候,通过几次程序运行回合,就能够定位到我们内存泄露之处,遇到这些内存泄露其实并不可靠,可怕的是我们自己,有些人一遇到这种问题头就大了,而到网上去搜,或者到群里问,
matlab调用Fortran生成的dll
matlab调用Fortran生成的dll
C# 调用.dll时的问题
现在有一个由Fortran编译成的.dll,我已经将它放在了Bin目录下(最后在system32中也拷贝了一份),然后由c#调用它里面的函数,声明方式如下;rnrn[DllImport(".\\Dll1.dll", CallingConvention = CallingConvention.StdCall,EntryPoint="Circle_Area")]rn public static extern float Circle_Area(ref float r);rnrn但在调用该函数的时候,出现如下错误:rnrn未处理的“System.DllNotFoundException”类型的异常出现在 CS_for_dll.exe 中。rn其他信息: 无法加载 DLL“.\Dll1.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。rnrn为什么会找不到呢?
关于c#调用c++的DLL文件问题
最近做课题,需要用窗体调用C++的SDK开发包,引用了DLL之后,函数是可以调用了,但是里面宏定义的参数没有被定义。rnrn比如:rn[DllImport("HISDK.dll")]rnstatic extern HI_S32 HI_SDK_Init();rnrn上述的HI_S32显示未被定义。rn我在开发包的一个C++的一个头文件中找到了 typedef int HI_S32;rnrn再比如, HI_SDK_Init( )的返回值应该是HI_SUCCESS 或者 HI_ FAILURE 。rn我的程序中的几行代码如下:rnif (HI_SDK_Init() == HI_SUCCESS) MessageBox.Show("OK");rnelse MessageBox.Show("NO");rn会出现错误“当前上下文中不存在HI_SUCCESS”。rnrn我想问一下,在这个SDK开发包中,DLL文件里面都是不包含.h文件的吗。rn我现在想把这个头文件引用到C#中,应该如何做呢?我在网上找到的方法是 同样将.h文件生成dll文件,然后引用。rn但是我生成的dll文件里面没有函数,只有宏定义等等一些参数定义。我用C#调用我生成的DLL文件时就出现了错误:“错误 CS0601 必须在标记为 "static" 和 "extern" 的方法上指定 DllImport 特性 ”。rnrn[img=https://img-bbs.csdn.net/upload/201710/16/1508083492_396969.png][/img]rn这个是SDK说明书里面给的。rnrn不知道我有没有说清楚,希望大佬可以帮忙解决一下,谢谢。rnrnrn
关于DLL生成和调用问题
请问:rn 1、如何写一个WINFORM程序,生成DLLrn 2、用ASP。NET怎么将这个DLL调用出来rn 最好能给个简单的例子学习下rn谢谢了
C#从零开始——生成dll文件并调用
学过c的课程,了解一点语法,从现在开始学习C#并记录下来。用来生成dll文件: 在控制台用命令行生成dll文件: 调用dll文件: 来张全家福: 最后的运行结果就不来了,黑框框 ‘15’。。
C#调用C++生成的Dll文件源码
C#调用C++生成的Dll文件的源码,包含三个项目:C++生成Dll、CLR项目、C#调用Dll项目。其中C#调用Dll项目是测试项目
c# 调用C++生成的DLL文件
rnrnint MakeWorkCard(char *SystemCode);长度4个字节rnrn [DllImport("card.dll", EntryPoint = "MakeWorkCard", CharSet = CharSet.Ansi, SetLastError = true)]rn rn用 public static extern int MakeWorkCard(ref byte SystemCode);rn 还是用rn public static extern int MakeWorkCard(byte [] SystemCode);rnrnrn还有在调用时rnrn byte[] _myString = new byte[8]; rnrn然后又怎么写下去呢?rnrn本人想学多一点,在线等
C#调用C++项目生成的dll文件
项目中包含了一个可以生成dll的C++项目,利用C++项目生成的dll文件,一个C#的控制台程序调用C++的dll,以及写项目的参考链接和一个大的异常的处理办法
C++怎么调用C#生成的dll文件
由于近期要做一个数据,所以需要用C#写一些操作方法,,但是网上找到了一大堆教程,很惨,弄了一下午,现在写一下今天的经验。 1、创建C# DLL,需要指定应用类型为“类库”,代码: namespace CSLib { public class Class1 { private string name; public string Name { get { return name; } set { n
C#调用非托管C++生成的DLL文件
一、方法的封装与调用 1、C++: 在Test.cpp文件中添加如下内容:extern "C" _declspec(dllexport) int Add(int a, int b) { return a + b; };生成DLL。 2、C#: 在C#类中封装如下方法:[DllImport("Test.dll", EntryPoint = "Add", CharSet = CharSe
MFC——调用C#生成的DLL文件(动态库)
最近MFC的项目需要将PC端与PLC端进行网口连接,这边也是已经拥有了C#的动态库能使两者进行连接,但是 该怎么使用,怎么调用这个C#生成的.DLL文件,却从来没试过。于是在网上找了很多资料,发现都不是很全面, 走了不少弯路,最后配置了以下属性之后总算是成功了。 (1)打开工程属性——配置属性——常规      将右侧界面中的MFC的使用一栏改为:在共享DLL中使用MFC
C#调用Managed C++生成的DLL文件
最近在使用MLibTorrent, 从网上下的开源项目,编译都可以通过, 但是运行的时候就会出现这样的错误: rnrn未处理的异常: System.IO.FileNotFoundException: 找不到指定的模块。 (异常来自 HRE rnSULT:0x8007007E) rn 在 ConsoleApplication1.Program.Main(String[] args) rnrn请各位指教!
c++ 调用 C# 生成的 dll 文件
RT,现在VS2005平台用C#编写一段代码,生成DLL文件,现在想用C++程序引用里面方法,不知道有什么方法可以实现,在编写C#有没有什么需要注意.
C# 生成DLL文件
C# 生成DLL文件C# 生成DLL文件C# 生成DLL文件C# 生成DLL文件C# 生成DLL文件C# 生成DLL文件C# 生成DLL文件
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池