引言: ◆ 上海大学通信与信息工程学院 杨高波
Matlab是一个具有强大的矩阵运算、数据处理和图形显示功能的软件,其输出结果可视化,编程效率极高,极少的代码即可实现复杂的运行,然而其边解释边执行,运算效率较低,实现相同功能的代码跟其他编程平台相比运行时间相对较长,且不适合作为通用的编程平台。
摘要:作者: solomon (lsong@kali.com.cn)
要使一个基于 cdialog 的应用程序一开始便被隐藏的方法有好多种。大多数方法在相关文章(http://www.csdn.net/develop/article/11/11634.shtm)中已经提及。本人之所以要写这篇文章,主要是通过分析mfc 调用模式对话框的方法向大家展示一种简单,合理,完满的解决方案。
首先,用......
摘要:信息产业部电子第二十二研究所青岛分所 郎锐
引言
随着网络技术的发展,网页的实现语言也由最初静止的超文本标识语言(html)发展到了现在广泛使用的动态超文本标识语言(dhtml),由于在这种新标识语言中可以使用css(层叠式样式表单)、javascript和vbscript等脚本语言以及其他的一些外部com控件因此其可编程能力得到大大的加强,尤其是java语言的兴起更起到推波助澜的作用。由于......
Matlab与VC集成◆ 上海大学通信与信息工程学院 杨高波
matlab是一个具有强大的矩阵运算.数据处理与图形显示功能的软件,其输出结果可视化,编程效率极高,极少的代码即可实现复杂的运行,然而其边解释边执行,运算效率较低,实现相同功能的代码跟其他编程平台相比运行时间相对较长,且不适合作为通用的编程平台.因此,许多matlab的应用程序需要使用诸如vc之类的通用编程平台,实现matlab与vc的混合编程,这样有助于发挥matlab与vc的各自优势. 【程序编程相关:
SendMessage进程间简单通信问题】
【推荐阅读:
一个多线程的日志记录DLL
】
集成的几种实现方法 【扩展信息:
【引用】Windows系列操作系统对线程】
为了实现混合编程,matlab 5.0以后版本自带了c语言编译器(compiler), 可以将m文件转换为c-mex或c/c++程序.根据matlab是否运行,一般将matlab与vc混合编程分为两大类:matlab在后台运行与可以脱离matlab环境运行.
1.matlab引擎(engine)采用客户机/服务器(client/server)的计算方式,通过windows的activcx通道与matlab接口.在具体的应用中,vc的程序作为前端客户机,通过调用matlab engine在后台与matlab服务器建立连接,实现动态通信.这种方法实现较为简单,不要求连接整个matlab,只需要嵌入必要的matlab engine库,可大大地节省系统资源,但这种matlab在后台运行,运行效率低下.
2.mideva是mathtools公司推出的一种matlab集成编译开发平台,提供对matlab程序文件(m文件)的解释执行与开发环境支持.经过简单设置后mideva可以将m源文件转换为c/c++,然后添加到msvc.c++ builder的工程中.
3. 另一种方法是先利用mideva直接生成exe文件(方法是启动mideva,在菜单“file->compile to exe”中, 选出需要转换的m文件),然后在vc中通过shell调用,常见的外部函数有shellexec()或winexec().这种方法简单方便,但运行时出现一个控制台窗口,而且由于vc与matlab之间不能交互,通用性差,仅适用于vc中调用matlab实现图形显示的场合.
4. 最新也是最方便的方法是通过matlab 6.0 add-in实现matlab与vc的混合编程.
以上方法1需要matlab在后台运行,方法2.3.4可以脱离matlab环境运行.
matlab add-in
matlab 6.0以后版本对其compiler作了较大的改进,其支持更多的数据类型,更强的优化功能,更为重要的是其matlab add-in提供了一个matlab与vc直接集成的途径.它具有一些新的特征:快速集成m文件到c++工程中,创建独立的 c/c++应用程序或c mex dll;通过m文件创建共享库或mex文件;内含visual matrix viewer,调试过程中可以查看矩阵变量的值; 直接修改m源文件而不是修改生成的c/c++文件;方便快捷地打包应用程序等....
下一页 摘要:1 概述
在现代的各种实时监控系统和通信系统中,在windows 9x/nt下利用vc++对rs-232串口编程是常用的手段。windows 9x/nt是抢先式的多任务操作系统,程序对cpu的占用时间由系统决定。多任务指的是系统可以同时运行多个进程,每个进程又可以同时执行多个线程。进程是应用程序的运行实例,拥有自己的地址空间。每个进程拥有一个主线程, 同时还可以建立其他的线程。线程是操作系统......