二进制兼容是什么意思啊?

mfm80629 2002-07-02 03:18:23
在项目属性里面的一组选项:二进制兼容,二进制非兼容,。。。。什么意思啊
...全文
195 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
griefforyou 2002-07-02
  • 打赏
  • 举报
回复
只要开始在已有部件的新版本上工作,就需要指定一个类型库,Visual Basic 用它作为兼容性的参考点。多数情况下,这个类型库就包含在最后发布的部件版本的可执行文件(.Exe、.dll,或 .ocx 文件)中。

对于更新的部件,每次为它建立中间版本时, Visual Basic 将从该 .Exe 文件中提取有关旧接口的信息,并把它和类模块的新接口相比较。

“为兼容性提供参考点”介绍了建立参考点的过程。

保持引用版本和中间编译版本保持分离
重点 保持被指定为引用版本的 .Exe 文件备份和新版本的编译备份之间的独立。

每次进行中间编译时,Visual Basic 都会向可执行文件中添加新的接口标识符集,每个类模块一个标识符。如果把编译备份指定为参考版本,那么每次版本兼容的中间编译所增加的接口标识符都会堆积在一起。(对于版本相同的编译,接口标识符不会改变。)

除了每个接口标识符要占用十六个字节以外,在有些情况下,在可执行文件中包含无用的接口标识符— 只有测试应用程序曾经使用过的中间版本— 将会减慢进程间对部件的访问,同时安装该部件的计算机的 Windows 注册表也会被无用的接口标识符弄得凌乱不堪。

如果参考版本是上一次发布的可执行文件的备份,那么所有的中间编译会有相同的接口版本号,而最终编译只包含所需的接口标识符:所有参考版本的标识符集(为了提供向后兼容)再加上新版本中所有类的接口标识符集。

注意 开发部件的第一个版本时,使用“工程兼容”而不是“二进制兼容”,情况恰好相反,参考版本会成为中间编译的版本。这不会使类型库膨胀,因为“工程兼容”从不保存接口标识符。

...........

请参看MSDN

7,766

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧