- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第25章VisualC和其他语言的接口
第25章 Visual C++和其他语言的接口 为了方便程序开发,Visual C++语言可以和其他语言实现接口,方便调用。各种语言之间实现接口,似乎比较麻烦,但是最大的优点是可以互补短长,减轻开发者的工作量,尤其是对于科研工作者而言。本章详细介绍如何在Visual C++中使用汇编语言,如何使用Visual C++调用Matlab函数,如何在Visual C++语言中调用exe可执行程序等内容。本章知识点包括: Win32汇编知识 Visual C++内联汇编 Visual C++中调用Matlab函数 Visual C++调用执行程序 25.1 Visual C++中使用汇编语言 在Visual C++语言中使用汇编语言有其可取之处,尤其是在和硬件直接接口和快速数值计算方面,汇编语言可以加快程序的运行速度。 25.1.1 Win32汇编 Win32应用程序一般使用C语言编程,但是在某些需要进行深层编程的情况下,需要使用汇编语言(甚至机器语言)直接编写Win32应用程序。Win32应用程序虽然和其他32位应用程序(例如32位保护模式DOS程序)一样可以使用386汇编语言和保护模式编程,目前国内极少看到有关Win32汇编语言的资料,市面上的汇编语言书籍一般只介绍DOS实模式汇编语言和386保护模式汇编语言。本节将简单介绍如何在Visual C++中实现汇编语言。 25.1.2 Visual C++中内联汇编 使用内联汇编可以在C/C++代码中嵌入汇编语言指令,而且不需要额外的汇编和连接步骤。在 Visual C++ 中,内联汇编是内置的编译器,因此不需要配置诸如MASM一类的独立汇编工具。内联汇编代码可以使用C/C++变量和函数,因此它能非常容易地整合到C/C++代码中。它能做一些对于单独使用 C/C++ 来说非常笨重或不可能完成的任务。 内联汇编的一个非常大的方便之处是它可以使用名称来引用C/C++变量。 25.1.3 Visual C++内联汇编的例子 为了实现Visual C++与汇编语言的接口,本文举一个简单的乘法例子。代码如下: 01 void CVisualInterfaceView::OnFfMul() 02 { 03 // TODO: Add your command handler code here 04 05 short cc=0; 06 cc=Mulp(); 07 CString temp; 08 temp.Format(%d,cc); 09 AfxMessageBox(temp); 10 // printf(%d,cc); 11 12 } 13 int CVisualInterfaceView::Mulp() 14 { 15 short aa=2; 16 short bb=3; 17 _asm{ 18 mov ax,aa 19 mov bx,bb 20 Imul ax,bx 21 } 22 } 25.2 Visual C++中调用Matlab函数 MATLAB具有很强的数值计算能力,而Visual C++则具有很强的普通软件尤其是图形用户界面的开发能力,两者的互补结合对快速、高效地开发专业计算软件具有很大的意义。讨论了在Visual C++中调用MATLAB文件的方法,它借助MATLAB的MCC命令和接口函数实现。通过该方法开发的软件可以独立于MATLAB而运行,并可以把MATLAB算法封装在动态链接库中,再在Visual C++中调用,提高了开发专业应用软件的速度及软件运行的效率和可靠性。本节详细讲述实现Visual C++和matlab的接口。 1.创建matlab动态库 2.创建Visual C++应用程序 25.2 Visual C++中调用Matlab函数 25.3 VC++中调用exe应用程序 本节讲述如何在Visual C++6.0中实现调用exe可执行程序,从而可以方便地使用现有的程序资源,减少重复开发。 25.3.1 ShellExecute方式 ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。虽然其他API函数也可以实现这些功能,但是Sh
您可能关注的文档
最近下载
- 阿联酋航空介绍(共33张PPT).ppt VIP
- 国企纪委书记竞聘面试题笔试题4套和专业题26问及答案.docx VIP
- 现场仪表 温度仪表WEST 8100+温控器说明书.pdf
- 张正友相机标定法课件.pptx VIP
- 某著名企业供应链咨询构建高效协同的销售与采购供应链战略供应链管理(61页PPT).pptx VIP
- 成人肺功能检查技术进展及临床应用推荐指南(2025版)解读.docx VIP
- 中国徐州PPT课件.pptx VIP
- 第1节 温度 (课件)人教版初中物理八年级上册(39页PPT).pptx VIP
- 船舶结构与货运PPT完整全套教学课件.pptx VIP
- 网络与新媒体概论PPT课件3.pptx VIP
文档评论(0)