phonemefeature mr4 虚拟机 MVM模式 启动主流程

编程入门 行业动态 更新时间:2024-10-24 01:55:48

phonemefeature mr4 <a href=https://www.elefans.com/category/jswz/34/1770279.html style=虚拟机 MVM模式 启动主流程"/>

phonemefeature mr4 虚拟机 MVM模式 启动主流程


phonemefeature mr4 虚拟机 MVM模式 启动主流程



为了使虚拟机运行正常,需要对传入的参数做一定的处理,函数runMidlet()主要完成该功能。从该函数的内部实现中得知,runMidlet程序所带的参数个数必须在2个和5个之间(包括2和5),如果传入的参数个数不符合,如传1个或6个,那么函数直接返回,虚拟机将不能启动。另外,传入的argv[0]~argv[5]共6个参数,其中argv[0]被用作midp的应用程序路径和配置路径,通过getApplicationDir()、midpSetAppDir()设置应用程序路径midpAppDir;通过getConfigurationDir()、midpSetConfigDir()设置配置目录midpConfig。argv[1]~argv[5]这5个参数分别对应于函数midp_run_midlet_with_args_cp()的前5个参数,argv[1]用作suitId,是MIDlet的套件ID,并且只能为数字;argv[2]用作midletClassName,是MIDlet的类名,为字符串;argv[3]、argv[4]、argv[5]分别用作arg0、arg1、arg2,为附加参数。

在midp_run_midlet_with_args_cp()中,该函数的前5个参数被赋值给一个局部结构体指针变量commandState,然后改变量指向全局结构体变量MidpCommandState,该结构体变量指示了MIDlet套件载入的状态。在验证midletClassName、arg0、arg1、arg2参数有效性后,然后用getClassPathForVerifyOnce()获取MIDlet程序运行需要的classpath,如有classpath扩展,调用getClassPathPlus()获取classPathExt,最后midpRunVm()使得MIDlet运行起来。再看midpRunVm(),第二个参数mainClass传入固定参数值"com.sun.midp.main.MIDletSuiteLoader" ,由此可知,用户运行的主MIDlet程序都是由MIDletSuiteLoader启动起来的。在调用到JVM_Start()时,代码进入CLDC实现的虚拟机核心部分了。



更多推荐

phonemefeature mr4 虚拟机 MVM模式 启动主流程

本文发布于:2024-02-27 06:39:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1705549.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:虚拟机   主流   模式   phonemefeature   MVM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!