windows95环境下的混合编程技术

windows95环境下的混合编程技术

ID:37178768

大小:346.07 KB

页数:4页

时间:2019-05-21

windows95环境下的混合编程技术_第1页
windows95环境下的混合编程技术_第2页
windows95环境下的混合编程技术_第3页
windows95环境下的混合编程技术_第4页
资源描述:

《windows95环境下的混合编程技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、光学精密工程第8卷第4期2000年8月Vol.8,No.4OPTICSANDPRECISIONENGINEERINGAug.,2000文章编号10042924X(2000)0420402204环境下的混合编程技术Windows95刘立峰,于占海(中国科学院长春光学精密机械与物理研究所,吉林长春130021)摘要:介绍了一种Windows95环境下的多种开发语言混合编程技术。它使得在开发一种软件的时候,可以同时使用VB、VC++、汇编等多种开发语言工具,以便发挥各开发语言的优势,取长补短,在达到设计要求的同时还可提高开发效率。文章较详细地分析了这种技术,并给出具体实现方法,最后结合其

2、在实际研究项目中的应用进行说明。关键词:Windows95;中图分类号:TP311.52混合编程;VB;VC++;文献标识码:A汇编型,还可直接插入内联汇编。因此,VC++5.0特别适合编制程序中的复杂算法和对硬件接口的操作。更重要的是,VC++5.0可生成动态链接库文件(以下简称DLL),可以与任何其他的基于Windows95的开发语言混合使用。因此,可以利用它编制一个DLL,库中包含所有需要用VC++开发的功能模块,并以函数或过程的方式提供给应用程序。VB5.0的功能不如VC++5.0强大,执行速度较慢(VC++程序的执行速度一般是VB的3倍,在某些情况下可差距20倍,因VC+

3、+是编译型语言,而VB是解释型语言),不支持指针,也不能通过插入内联汇编直接对硬件接口进行操作,但是它有一个最大的优点,即对视(VIEW)的操作十分方便快捷,尤其适合开发人机交互界面。因此在设计阶段,它可以快速地生成界面并通过独有的可视化属性窗口(PropertyWindow)对控件(Controls)属性进行轻松控制;在程序运行阶段,它可以通过控件的名称(Name)代替传统的句引言1当前,Microsoft的Windows95操作系统是PC的主流操作系统,应用在Windows95环境下的开发工具也很多,如VB,VC++等。我们在进行软件开发的时候,要根据它们的功能和特点而选择合适

4、的语言。如对硬件进行操作是汇编语言的特长,但VB却对此无能为力;而VB擅长的GUI(图形用户界面)却使汇编语言黯然失色。这样,在开发一套较复杂的控制软件时很难只用一种开发语言实现。为了发挥各开发语言的优势,适合不同的设计要求,就需要使用多种开发语言相互配合。下面就分别介绍高级语言间的混合编程及高级语言与汇编语言间的混合编程这两种技术。高级语言间的混合编程2高级语言间的混合编程主要是依靠共同的接口协议,如动态链接库方式、ODBC方式等。在这里以VC++5.0和VB5.0通过动态链接库方式进行混合编程为例进行说明。2.1分析VC++5.0和VB5.0是目前广泛使用的两种开发语言。VC+

5、+5.0功能十分强大,生成的柄直接进行控制,非常方便快捷。而VC++5.0则需通过API调用、ID值获得控件句柄及控件类的实例化才能对其进行控制,从而使用于界面操作的代码编写工作复杂,代码冗长,维护困难。实践证明,用VB开发人机界面的效率至少是使用VC++的2-3倍。因此用VB开发人机交互界面可使开发者把大部分精力投入到功能实现代码综上所述,VB适合进行前台的人机界面操作,VC++5.0适合做核心的控制工作,它们的混合使用是兼顾软件性能和开发效率的一个很好的结合点。2.2实现方法上面提到,这两种高级语言的混合编程是依靠DLL进行的。DLL就是执行代码库,它可以提供应用程序本身不具备

6、的功能和过程。在程序执行时,它被应用程序载入内存,执行库中相应的函数或过程,并把结果返回给应用程序进行处理,待任务结束后DLL释放内存,完成操作。在VC++中,为了生成DLL文件,可利用AppWizard应用程序向导生成一组DLL类型的文件。在3.def文件中声明输出函数,如下所示:LIBRARYLibnameƒƒDLLname根据程序要求调用VC++中的函数,并把VC++运算出的结果显示在VB程序中的Text1控件中,实现了高级语言的混合编程。在实际的程序编制过程中,要注意两种不同开发语言的差异,因为在DLL中的函数由于不参与应用程序的编译链接,就无法进行错误检查,只有在程序执行

7、时才能暴露错误。如C++的整型数值类型(int)是32位的;而VB的整型数值类型(Integer)则是16位的,表面看起来一样,实际执行时就会产生类型不匹配的错误。又如C++中定义的intA10表示声明一个有10个元素的数组,它们是A(0)到A(9);而VB中定义的DimAAsInteger表示声明一个有11个元素的数10组,它们是A(0)到A(10)。这样,在两种语言相互传递错误的数值或访问不存在的数组元素时就会导致系统的挂起。在设计过程中只要注意这些问题,就可避免

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

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

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