斯凯引擎程序启动详解:从mr_start_dsm到应用初始化
需积分: 10 77 浏览量
更新于2024-08-13
收藏 500KB PPT 举报
斯凯引擎的程序启动过程是一个关键环节,它涉及到斯凯平台的应用部署和运行。首先,当需要启动一个应用程序时,程序会通过调用`mr_start_dsm(entry)`函数来启动虚拟机。这个函数是斯凯平台的核心组件,它负责初始化虚拟环境并为后续的程序运行做好准备。
虚拟机在启动后,会定位到与之对应的MRP(Mythroad Program)程序。MRP是斯凯平台特有的可执行文件格式,它是Mythroadpack的缩写,专为Skyengine设计,可以直接运行于该平台上。Mythroad是一种高效的语言,相较于Java,它具有更高的执行效率,且支持标准C语言,为开发者提供了灵活性。
接下来,虚拟机会对找到的MRP程序进行解压缩,这是为了将程序的二进制代码和资源释放到内存中。这一阶段涉及内存管理,确保足够的空间来存储代码和数据。然后,全局变量会被载入内存,这些变量在整个程序执行过程中是共享的,对程序的行为至关重要。
一旦全局变量加载完毕,`int32 mrc_init(void)`函数会被调用,用于完成应用程序的初始化过程。这个步骤涵盖了设置环境、配置资源、初始化数据结构等核心任务,确保应用程序能够顺利启动并开始运行。
应用程序启动完成后,根据MRP文件的配置,平台可能会生成额外的中间文件或依赖文件。这一步可能包括读取Mythroad的工程文件(mpr),该文件是项目管理和构建的基石,用于指导编译器生成MRP文件或者库文件。
在这个过程中,斯凯平台提供了专门的工具如MRPBuilder,它负责编译和构建应用程序。MRPBuilder是程序编译器,负责将源代码转化为可执行的MRP文件。Mpr则是一个工程管理工具,类似Makefile,用于组织C和Mythroad的源代码,协调编译过程。此外,平台还支持C语言编译器(armcc.exe)和链接器(armlink.exe),用于处理C语言程序的编译和链接。
斯凯引擎的程序启动过程是一个精心设计的链条,从虚拟机启动、MRP文件的定位和处理,到应用程序的初始化和资源加载,每个环节都体现了斯凯平台对于性能、内存优化和兼容性的重视。了解并掌握这个流程对于开发人员来说,是理解和利用斯凯平台开发高效、低内存占用应用的基础。
2022-01-22 上传
102 浏览量
2010-12-18 上传
2011-08-03 上传
2010-06-09 上传
2022-11-27 上传
杜浩明
- 粉丝: 13
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜