|
发表于 2015-3-30 20:27:19
|
显示全部楼层
感谢MP哥的耐心讲解,大原理看懂,具体做法还是看不懂。 没上过编译原理,计算机结构和操作系统的课,这种软件问题感觉一下无法理解,估计还是得有实践才能懂,这个问题真的很有趣。再想了下
而是用函数名做Label做跳转, 看不懂,系统函数多种多样,有返回值的 无返回的 一个形参的 多个形参的,APP代码要调用各种OS函数,不用指针,这个LABEL看MP哥意思是函数名表?名字而非地址这个能理解,想了下比如名字对应编号做参数,统一调用接口到OS,OS再用编号SWITCH散转各函数,这个统一接口似乎得借用一个中断向量才能保证调用地址永远不变,这样所有的OS函数对APP就不存在地址了,也就没指针的事,不过效率高不高呢,能接受编号多少个呢,或者还有好方法。 但没想通这种情况代码如何做到跟普通函数调用写法一样,如何能调各种类型函数形式编译通过的,特别是到具体实现,是否能截图看看。
RW位置无关 因为RO和RW可能分离两块,感觉APP一定要知道自己用哪块RW区,这个基地址不知道具体怎么传递的,得看图才懂。
PRINTF是C运行库函数,写个桩子函数 桩子函数完全不懂概念
WIN这段说的很精彩通俗易通, 基础应该还是Label做跳转这句,即APP如何调用OS函数。
|
|