[发明专利]用于调用转换和追踪的规范文件有效
申请号: | 200980135244.8 | 申请日: | 2009-07-09 |
公开(公告)号: | CN103443768A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | J·沙法尔;R·米斯拉 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/44;G06F11/36 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 邹姗姗 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 调用 转换 追踪 规范 文件 | ||
技术领域
本发明总体上涉及应用程序执行,更特别地涉及函数调用转换和追踪,而且在有些实施例中涉及库的自动生成。
背景技术
当操作系统执行应用程序时,该应用程序将对由函数库提供的函数进行函数调用。应用程序是在特定操作系统(OS)下被编译并链接以便执行的计算机程序。OS是启动计算机或者其它数据处理系统并且管理该计算机或者其它数据处理系统的函数和/或资源的软件。函数库是向应用程序提供服务的函数的集合。库可以是静态链接的,或者是在运行时动态链接的。静态链接的库是在编译时被链接并且是应用程序的一部分。动态链接的库是当应用程序执行时由该应用程序加载进来或者使用的。动态链接的库的例子是运行时库、动态链接库(Dynamic-Link Library,DLL)和操作系统(OS)服务。运行时库、DLL和OS服务在这里统称为系统库。在一个实施例中,运行时库是由编译器用来在应用程序执行过程中实现构建到编程语言中的函数的计算机程序库。DLL是在运行时加载到应用程序中的函数库。DLL函数可以是特定于操作系统的、特定于应用程序的,等等。在一个实施例中,OS服务是由应用程序在运行期间中使用并特定于特定OS的服务。OS服务可以是用以管理诸如存储器的系统资源、文件系统资源、电力状态、图形用户接口、其它资源,执行应用程序间通信等的服务。
图1(现有技术)是在操作系统环境中执行的应用程序102的框图。在图1中,应用程序102在利用运行时库104、OS服务106和/或DLL 108的OS环境100中执行。在图1中,应用程序102是专门为在OS环境100中执行而生成的。虽然如此,这个应用程序还可以在不同的OS环境中运行。图2(现有技术)是在一种操作系统环境210(OS2)中执行的应用程序202的框图,其中该应用程序202还在另一操作系统环境200(OS1)中执行。OS2可以是来自与OS1不同厂家的不同操作系统。可选地,OS2可以是OS1的不同版本。在图2中,基于OS2的应用程序202通过使用OS2服务环境210在OS1环境200中运行。在一个实施例中,OS2服务环境210是在OS1环境200中作为虚拟机执行的OS2的真实版本。本领域中已知的这种实施例的例子是VMWARE、PARALLELS和VIRTUALPC。在该实施例中,OS2应用程序202利用OS2服务、DLL和/或运行时库208在操作系统OS2中运行。
可选地,OS2服务环境210提供了用于应用程序202的一组应用程序编程接口(API),而不需要在OS2服务环境中执行一种版本的OS2。在该实施例中,OS2服务环境210在OS1环境中利用OS2库206加载并执行基于OS2的应用程序。术语“基于OS2的应用程序”意味着,这个应用程序是针对OS2操作系统编译的,并打算在OS2操作系统下执行。此外,OS2服务环境210还可以使用OS2库208,例如OS2服务、DLL和/或运行时库。本领域中已知的该实施例的例子是WINE(例如,见http://www.winehq.org)。
发明内容
描述了根据至少某些实施例的利用函数规范的方法与装置。在示例性方法中,函数规范文件能够提供其它软件,用以方便应用程序在第二操作系统中的执行,而不需要第一操作系统的存在;在这种方法中,应用程序是针对第一操作系统编译的。在另一示例性方法中,预处理器接收包括用于库函数的函数定义数据的函数规范文件。预处理器处理函数定义数据,以生成用于库函数的头信息和函数代码。在另一示例性方法中,预处理器基于函数定义数据生成用于插入库的自动记录框架。此外,插入库中的函数记录对相应库函数的调用。
附图说明
通过示例例示了本发明,但本发明不限于附图,附图中类似的标号指示类似的元件。
图1(现有技术)是在操作系统环境中执行的应用程序的框图。
图2(现有技术)是在OS1环境中执行的应用程序的框图,该应用程序被设计成在OS2环境中执行。
图3是在一个操作系统环境中执行的、针对另一个操作系统环境编译的应用程序的框图。
图4是从函数规范文件生成用于执行应用程序的库的方法的一个实施例的流程图。
图5是从函数规范文件生成函数代码和头信息的方法的一个实施例的流程图。
图6是将来自应用程序的调用插入另一个库的插入库的框图。
图7是一个操作系统的用于插入应用程序的库调用的插入库的框图,其中该应用程序是针对另一个操作系统编译的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980135244.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图形环境中搜索结果的语境显示和滚动
- 下一篇:光学鼠标