收藏 分享(赏)

浅谈Visual C++与Visual Basic的混合编程.ppt

上传人:oil007 文档编号:2684548 上传时间:2018-09-25 格式:PPT 页数:17 大小:375KB
下载 相关 举报
浅谈Visual C++与Visual Basic的混合编程.ppt_第1页
第1页 / 共17页
浅谈Visual C++与Visual Basic的混合编程.ppt_第2页
第2页 / 共17页
浅谈Visual C++与Visual Basic的混合编程.ppt_第3页
第3页 / 共17页
浅谈Visual C++与Visual Basic的混合编程.ppt_第4页
第4页 / 共17页
浅谈Visual C++与Visual Basic的混合编程.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、浅谈Visual C+与Visual Basic的混合编程,课题组研讨会,提纲,关于编程 认识DLL VC6.0中如何开发DLL程序 VB6.0中如何调用DLL程序 一个例子,一、关于编程,编程就是指令的合理组合 因此,指令决定了编程的能力 什么指令功能最强? 函数的来源 语言附带的库 操作系统的开发库 可执行程序的生成 编译(Compile) 链接(Link),关于编程(续),编译 将源代码处理成目标机器上的机器语言模块 链接 将编译得到的机器语言与系统提供的函数库联系起来 打个比喻 编译有人把一本学术著作翻译成了中文 链接把书中的术语给你解释清楚,函数库的分类,静态库 .LIB 链接时将相

2、关函数代码放入到应用程序中 应用程序体积大,启动速度慢 优点是对运行环境无依赖性 动态库 一般封装成DLL 链接时仅进行符号链接 程序运行时再从函数库中加载所需的函数代码 应用程序体积小,启动快 对运行环境依赖性大,静态链接库,静态库只能给C语言兼容的开发语言使用 演示 如何利用VC制作静态链接库 如何使用静态库,二、动态链接库DLL,DLL Dynamic Linkable Library 是实现共享代码的一种方式 DLL的使用与语言无关(可以用VB) DLL随处可见 VC的DLL的分类 NONMFC DLL MFCRegular DLL MFC Extension DLL,认识DLL,如何

3、查看DLL中暴露出的函数 Microsoft Visual Studio中Depends工具,VB、VC混合编程,什么是混合编程 一个应用软件系统中,不同的模块采用不同的编程语言开发 VB和VC的分工 VB负责界面,人机交互,用户响应 VC负责复杂的算法,计算或者访问硬件,VB、VC混合编程的方式,通过DLL VC生成DLL,在VB中调用 常用,简单 ActiveX控件的方法 VC生成控件,在VB中调用 更通用,较复杂 ActiveX Automation服务器的方法 VC生成应用服务器,在VB或者VBA中调用 最复杂的一种方法,适合大型软件的二次开发,VC编写VB可以使用的DLL(1),不是

4、任何VC编写的DLL,VB都可以使用 只有Regular DLL才有可能被VB使用 VB中对函数的声明必须与VC中对函数的声明绝对一致才行 两个必备条件,缺一不可 VC中声明函数的调用方式为stdcall VC中声明的函数必须被export,VC编写VB可以使用的DLL(2),一定要写定义文件(*.def),LIBRARY TestAdd EXPORTS add 1,举例,Add.h,#ifndef ADD_H #define ADD_Hextern “C“ int _stdcall add(int a, int b);#endif,Add.cpp,#include “add.h“int _s

5、tdcall add(int a, int b) return a+b; ,注意事项(1),注意不同语言对类型的定义不同 VB中IntegerVC中的short VB中的LongVC中的int 结构尤其要注意,C语言存在着对齐的问题,例如: Type Person Age As Long Height As Double End Type,注意事项(2),大数据量的传递(VB到VC) 用数组,用指针(地址) VB将数组首字节地址以及数组长度传递给VC VC程序中利用地址和长度访问数据 注意VB中函数声明的byVal和byRef byVal相当于VC中的传值 ByRef相当于VC中的传地址(指针),注意事项(3),大数据量的传递(VC到VB) 如果VB负责申请内存,同上 如果VC负责申请内存 在VC的函数中利用返回值将地址传递给VB 在VB中将函数的返回值声明为long 切记不要忘记在VC中释放所申请的内存,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报