[发明专利]对象级别兼容性和使用语义值的类大小调整有效
| 申请号: | 201080042419.3 | 申请日: | 2010-09-22 |
| 公开(公告)号: | CN102511033A | 公开(公告)日: | 2012-06-20 |
| 发明(设计)人: | F·A·冈多尔菲;R·M·N·克拉雷尔 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45 |
| 代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 杜娟 |
| 地址: | 美国*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 对象 级别 兼容性 使用 语义 大小 调整 | ||
1.一种在计算设备上将以高级语言编写的软件代码转换成二进制对象的方法,该方法包括:
在计算设备上接收以高级语言编写的软件代码;以及
在计算设备上将软件代码翻译成二进制对象文件,该翻译包括:
确定软件代码包括需要被硬编码到二进制对象中的值的感兴趣的项,并且类是可调整大小的;以及
创建语义变量来表示硬编码值,并将语义变量和硬编码值存储在二进制对象中的表中。
2.根据权利要求1的方法,其中高级语言是C++。
3.根据权利要求1方法,其中感兴趣的项是下述之一:大小类类型,到非静态数据成员的偏移和虚拟函数表偏移。
4.根据权利要求1的方法,其中该表是虚函数表偏移的表。
5.根据权利要求1的方法,其中该表是类类型大小的表。
6.根据权利要求1的方法,其中该表是在包含类中的子对象偏移的表。
7.根据权利要求1的方法,其中该表是非静态数据成员偏移的表。
8.根据权利要求1的方法,其中该表存储在二进制对象的头部。
9.根据权利要求8的方法,还包括:
在计算设备上在链接器处接收多个二进制对象;
将多个二进制对象互相链接;以及
解决在具有基于预定义偏好的表的每个对象中的表之间的差异。
10.根据权利要求9的方法,其中每个二进制对象包括至少一个表。
11.根据权利要求10的方法,其中至少一个二进制对象不包括表。
12.根据权利要求9的方法,其中预定义偏好使得较新的表优于较老的表而被选择。
13.根据权利要求9的方法,其中预定义偏好使得具有较高版本号的表优于具有较低版本号的表而被选择。
14.根据权利要求9的方法,其中预定义偏好使得包括作为二进制对象之间差异来源的虚拟表的对象优于不具有该虚拟表的对象而被选择。
15.一种从多个二进制对象创建可执行程序的方法,该方法包括:
在计算设备处接收第一组多个二进制对象,至少一个二进制对象包括语义变量表,该语义变量代表需要硬编码值的至少一个值的硬编码值;
将第一组多个二进制对象链接在一起,并且用至少一个表中的硬编码值替换至少一个二进制对象中的语义变量;以及
将第一组多个二进制对象装载到计算设备中,以便与一个或多个另外的二进制对象相结合来操作。
16.根据权利要求15的方法,其中需要硬编码值的值是下述之一:大小类类型、到非静态数据成员的偏移以及虚拟函数表偏移。
17.根据权利要求15的方法,其中所述至少一个表是虚函数表偏移的表。
18.根据权利要求15的方法,其中所述至少一个表是类类型大小的表。
19.根据权利要求15的方法,其中所述至少一个表是包含类中子对象偏移的表。
20.根据权利要求15的方法,其中所述至少一个表存储在二进制对象的头部中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080042419.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电阻变化型非易失性存储装置
- 下一篇:冷冻循环装置





