【C#-1】C#调用matlab生成的dll库

这篇具有很好参考价值的文章主要介绍了【C#-1】C#调用matlab生成的dll库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

matlab打包dll

1、matlab示例程序:

function untitled4(x)
    z = peaks(x);
    figure
    surf(z)
end

2、输入deploytool打包matlab程序,具体如下:

c#怎么调用matlab的dll,c#,matlab

c#怎么调用matlab的dll,c#,matlab

 3、拷贝

打包成功后,将生成for_redistribution_files_only文件夹中的dll文件拷贝到C#程序lib文件夹下,若没有,新创建一个。

c#怎么调用matlab的dll,c#,matlab

c#怎么调用matlab的dll,c#,matlab

错误解决:

c#怎么调用matlab的dll,c#,matlab

解决方法:将matlab程序改写成一个方法。

C#调用dll

1、添加引用

c#怎么调用matlab的dll,c#,matlab

 MWArray.dll在matlab安装目录..\matlab\toolbox\dotnetbuilder\bin\win64\v4.0下,untitled4.ll与untitled4Native.dll在C#工程lib文件夹下。

c#怎么调用matlab的dll,c#,matlab2、导入包

using untitled4;
using MathWorks.MATLAB.NET.Arrays;

3、添加button点击事件

private void Button1_Click(object sender, EventArgs e)
{
    untitled4.Class1 p3 = new untitled4.Class1();
    p3.untitled4((MWArray)25);
}

完整示例代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using untitled4;
using MathWorks.MATLAB.NET.Arrays;

namespace test1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            untitled4.Class1 p3 = new untitled4.Class1();
            
            p3.untitled4((MWArray)25);
        }
    }
}

 错误解决1:

c#怎么调用matlab的dll,c#,matlab

解决方法:debug平台改为×64位

 c#怎么调用matlab的dll,c#,matlab

 错误解决2:

c#怎么调用matlab的dll,c#,matlab

解决方法:matlab程序返回一个数,而C#代码接收的是MWArray数据。

p3.untitled4((MWArray)25);

 c#怎么调用matlab的dll,c#,matlab

运行结果:

 c#怎么调用matlab的dll,c#,matlab文章来源地址https://www.toymoban.com/news/detail-733089.html

到了这里,关于【C#-1】C#调用matlab生成的dll库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#调用C++ dll教程

    在使用C#开发客户端时,有时需要调用C++ dll,本篇博客来介绍C#程序如何调用C++ dll。 首先使用VS2022创建C++ dll项目,具体步骤如下: (1)选择Windows桌面向导,点击下一步, 取项目名,例如我的dll项目名是libMath (2)选择动态项目,勾选导出符号 (3)编写动态代码,代码如下

    2024年01月25日
    浏览(42)
  • C#调用C++ dll异常排查

    最近在做的一款程序,长时间运行总会出现莫名的问题。有时是自动关闭,有时程序报错,有时调用的dll异常…… 由于开始与C++组合作时,使用其提供的dll出现过数据读写时异常(内存操作异常),于是怀疑他们提供的dll有内存泄漏。于是想通过日志或其它方法来确认这个猜

    2024年01月21日
    浏览(55)
  • C++调用C# dll成功示例

    一.准备C# dll类库 。生成CSLib.dll  二、写C++应用调用  1)需要把dll复制到运行目录下。(不然会提示找不到dll System.IO.FileNotFoundException:“未能加载文件或程序集“CSLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件) 2)设置\\\"公共语言运

    2024年02月14日
    浏览(61)
  • C# DLL嵌套调用时修改生效

    C# DLL嵌套调用时,需要以被修改的DLL作为最下层,从下往上地重新生成所有DLL才可生效。 DLL1(最下层)代码: DLL2(中间层)代码: 应用程序代码: 实验步骤: 1.在代码无修改的情况下运行应用程序,输出结果为A。 2.修改DLL1动态链接库ConsoleWriteLineSomething方法,使其输出

    2024年01月25日
    浏览(64)
  • C#开发DLL,CAPL调用(CAPL>> .NET DLL)

    ret为dll里函数返回的值。 在visual studio中建立。

    2024年02月08日
    浏览(47)
  • 如何在nodejs中调用C# dll

    Edge.js GitHub NPM package 环境要求 1.支持Node.Js 14.x, 16.x, 18.x, 19.x 2.支持 .NET Core 1.0.1 - 6.x - Windows/Linux/macOS nodejs中调用C# dll 下载并安装 .NET 6.0 SDK C#中的代码: 注意事项: 方法必须用async异步修饰,且返回值必须为Task object 不能用静态方法,且方法需要为public nodejs中的代码: C#源码

    2024年02月06日
    浏览(41)
  • C# 运用(codeDom和反射技术)动态编译dll ,动态调用

          在软件运用工程中,往往会根据各种各样,花样百出的需求来设计软件,在最近的项目中无意中,我就遇到了一个需求,据说是,客户要动态编译dll ,我“滴个乖乖”,这是要逆天啊! 话不多说,直接来点干货。 简单分享一下个小demo: 1.运用codeDom技术实现动态程序集

    2024年02月13日
    浏览(39)
  • Unity——在C#中调用C++动态链接库(DLL)

    1、新建C++空项目 打开VS,新建一个C++空项目,自命名项目名称与位置。 2、配置项目属性为动态链接库 右键项目,点击属性,打开项目属性页,将常规中的配置类型改为动态库(.dll)。  3、添加.h头文件 右键头文件,点击添加—新建项,选择头文件.h,命名为DllForUnity.h,点击

    2024年02月10日
    浏览(46)
  • C#调用C++封装的SDK库(dll动态库)——下

    一、说明 上一篇我们相当于封装的是C语言风格的动态dll库,供C#来调用的。 C#调用C++封装的SDK库(dll动态库)——上 如果我们要封装的是下面的类呢?我们该怎么办?大家先思考下。  二、思路 不知道大家还记得设计模式中的单例模式吗? 我们可以采用类似的处理方式,通过

    2023年04月25日
    浏览(44)
  • 使用Rider C# Dll工程和Unity工程互相调用、断点方法

    创建C# Dll工程,生成C#工程Dll 创建Unity工程 Unity调用C#工程的代码 C#工程调用Unity工程的代码 断点方法 创建工程 选这个,注意UnityEngineDll这个选项,要选你目标unity版本的Dll 生成Dll 右键工程 简单,能看到这篇文章的都是优秀的同学,所以,此步略过 下面这两个复制到unity工程

    2024年01月20日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包