VC程序调用MATCOM导致进程不自动结束的解决办法
来源:互联网 发布:cookie json 编辑:程序博客网 时间:2024/06/05 05:26
MATCOM的功能很强大,利用它可以大大减少开发含有数值计算,图像显示等方面的程序的时间。虽然它后来被MATLAB收购了,但是我一直青睐使用它来实现MATLAB和VC的混合编程,因为现在的MATLAB让我很恼火。原因在于:现在要想把M文件或者M函数或者GUI程序让VC可以调用的话,哪怕你要转换的代码只有几行,也要带上MATLAB提供的两三百兆的MCR(个人感觉,类似于VC里面的.Net Framework)!当然,我没有用过COM,不知道VC调用MATLAB生成的COM组件需不需要MCR的支持,如果有谁用过的话,欢迎留言指教。 我现在喜欢采用的混合编程方法有
好了,言归正传,VC程序调用MATCOM导致进程不自动结束的解决办法是: HANDLE hProcess; hProcess = OpenProcess( PROCESS_TERMINATE, true, GetCurrentProcessId() );
(1)直接读懂MATLAB代码,人工将它翻译成C++代码。评价:这种方法对于一些轻量级的函数还是可以实现的,但是如果函数A调用函数B,函数B调用函数C,C又调用函数D……的话,就晕菜啦!!!
(2)用MATCOM将M代码翻译成C++代码。评价:这种办法也只适合处理不太复杂的代码,对于多次函数调用的话,还是比较麻烦的。而且,这种方法需要MATCOM的支持,而一般用的MATCOM都是D版的,这对于开发商业软件来说,不好不好。
(1)对于建立的基于对话框的MFC程序,响应WM_CLOSE消息,在OnClose() 函数里面添加如下代码即可解决进程不能自动结束的问题。
TerminateProcess( hProcess, (DWORD) -1 );
CloseHandle( hProcess );
(2)对于基于文档/视图的MFC程序,则在MainFrame的析构函数中加入上述代码。
转载地址:http://blog.sina.com.cn/s/blog_4b2b2d980100j8q5.html
- VC程序调用MATCOM导致进程不自动结束的解决办法
- VC程序调用MATCOM导致进程不自动结束的解决办法
- VC++结束程序进程
- VC++结束程序进程
- VC++结束程序进程
- VC++结束程序进程
- VC++结束进程的方法
- 编译Matcom文件时VC++的设置
- 实现VC与Matcom的接口步骤
- VC程序中如何结束系统正在运行的其他进程 以及本程序自身
- 不知道程序的窗口句柄时结束该程序的进程
- vc结束进程的几种方式
- VC程序中如何结束系统正在运行的其他进程
- 基于matcom的杨氏双缝干涉仿真程序
- 基于matcom的光栅衍射仿真程序
- VC++结束进程
- vc 结束进程
- VC++结束进程
- 使用GDB调试Android NDK开发的程序
- 谈谈ORACLE内核参数
- NOSQL数据库大比拼:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase
- OpenAL-soft编译,MinGW Win32和Win64,动态和静态
- QT笔记之QFileDialog
- VC程序调用MATCOM导致进程不自动结束的解决办法
- CArchive 序列化,持久性
- NoSQL数据库性能比较:MongoDB vs Redis vs Tokyo Tyrant
- Insert into select表复制语句
- 已知android手机一台,且不知是否含有sdcard,要求显示手机磁盘目录结构
- Winrar 4.0破解
- 从DIY想到的面向对象的思想
- activex 部分属性代码定义
- 常用的DB链接