Visual C#与Matlab混合编程在可视化软件中的应用

Visual C#与Matlab混合编程在可视化软件中的应用

ID:47336352

大小:40.00 KB

页数:8页

时间:2019-08-14

Visual C#与Matlab混合编程在可视化软件中的应用_第1页
Visual C#与Matlab混合编程在可视化软件中的应用_第2页
Visual C#与Matlab混合编程在可视化软件中的应用_第3页
Visual C#与Matlab混合编程在可视化软件中的应用_第4页
Visual C#与Matlab混合编程在可视化软件中的应用_第5页
资源描述:

《Visual C#与Matlab混合编程在可视化软件中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VisualC#与Matlab混合编程在可视化软件中的应用摘要:本文重点探讨了visualc#基于dll函数调用matlab绘图程序,进行混合编程的方法。并将该方法在地磁场可视化绘图软件的开发中加以应用。关键词:visualc#matlabdll函数混合编程磁场可视化developmentonitsvisualizationsoftwarebasedonmatlabandvisualc#mixedprogramminglicheng-gang1,zhaojia-bao1,chenzhao-rong2(1.nanjinguni

2、versityschoolofmanagementandengineering,nanjing210000;2.pla95874,nanjing210012)【abstract】thisarticlediscoveredthedrawingprogrammingofmatlabbasedoncallingdllfunctionwithvisualc#,thenrealizetheapplicationofvisualizationsoftwareingeomagneticfieldwiththismethod.【keywor

3、ds】visualc#,matlab,dllfunction,mixedprogramming,visualizationingeomagneticfield1背景研究1.1matlab的绘图功能matlab是人们常用的科学及工程计算软件,具有强大的数据可视化功能,包括二维和三维的可视化、图象处理、动画和表达式作图[1]。1.2visualc#c#是微软开发的一种面向对象的编程语言,是微软.net开发环境的重要组成部分。而microsoftvisualc#2010是微软开发的c#编程集成开发环境,它是为生成在.netfram

4、ework上运行的多种应用程序而设计的。c#简单、功能强大、类型安全,可实现应用程序的快速开发。1.3混合编程混合编程是指使用两种或两种以上的程序设计语言来开发应用程序的过程。目前,有很多深受欢迎的计算机上程序设计语言,它们有各自的优势和不足,混合编程可以扬长避短。广受好评的visualc#和matlab,二者混合编程必然有较好的应用前景。2基于dll的visualc#调用matlab2.1c#中调用动态链接库dll动态链接库是一个独立的文件,不可直接执行,也不能接收消息,其中包含能被程序或其它dll调用来完成一定操作的函数

5、(方法)。这些函数(方法)不是执行程序本身的一部分,而是根据进程的需要即时载入。dll只有在应用程序需要时才被系统加载到进程的虚拟空间中,成为调用进程的一部分,此时该dll仅可被该进程的线程访问,其句柄可被调用进程所使用,而调用进程的句柄也可被该dll所使用。在内存中,一个dll仅有一个实例,且其编译与具体的编程语言和编译器都没有关系,因此可以通过dll来实现混合语言编程。dll函数中的代码所创建的任何对象(包括变量)都归调用其线程或进程所有。使用dll时有如下好处:1)可减少在磁盘和物理内存中加载的代码的重复量,使用较少的

6、系统资源。2)有助于促进模块式程序的开发,使得程序开发更加便捷。3)简化部署和安装的过程。2.1.1调用dll中的非托管函数一般方法首先,在c#语言源程序中声明外部方法,其基本形式是:[dllimport(“dll文件”)]修饰符extern返回变量类型方法名称(参数列表)其中:dll文件:包含定义外部方法的库文件。修饰符:访问修饰符,除abstract以外在声明方法时可使用的修饰符。返回变量类型:在dll文件中需调用方法的返回变量类型。方法名称:在dll文件中需调用方法的名称。参数列表:在dll文件中需调用方法的列表。需要

7、注意的是,要在程序声明中使用system.runtime.interopservices命名空间。dllimport只能放置在方法声明上。dll文件必须位于程序当前目录或系统定义的查询路径中。返回变量类型、方法名称、参数列表必须与dll文件中的定义一致。可通过entrypoint属性设置,更改函数名等。2.1.2动态装载、调用dll中的非托管函数对于全局函数,如果dll中的非托管函数有一个静态变量s,每次调用这个函数的时候,静态变量s就自动加1。当需要重新计数时,就会出现和预想不同的结果。首先,创建dll可用dllimpor

8、t调用dll中的函数(方法),然后实现c#动态调用dll中的函数(方法)。c#中使用dllimport不能像动态load/unloadassembly那样,可借助api函数,其中与动态库调用有关的函数包括下面几种:1)loadlibrary(或mfc的afxloadlibrary),装载动

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。