帮同学宣传一下http://shop57644665.taobao.com/

最终目的是实现一个类似可运行程序的框架的东西。
难点:如何生成这个可运行的程序数据。1.函数的跳转使用一个固定的地址中的函数指针实现。2.将程序数据解析成一行行的执行代码。
同时应该同应用程序的编译平台的实现有着直接的联系。
现在看起来第二种方式的实现应该还是简单点,同时可以做到不同平台的开发。当一个应用调试完成后,可以使用特殊的处理将源文件生成一个数组,然后在不同的另一个平台上只需要对该数组进行一次解析,将对应的数据转化为对应的具体平台的函数调用就可以实现同开发平台上同样的运行效果了。

对于第一种实现方式,主要的难点是需要对所有可能调用的api都要进行地址固定。这个可以通过一个全局的函数指针数组来实现跳转,开发时必须使用函数指针进行。在进行平台移植时,这个函数指针数组必须指定一个绝对的地址,同时这个地址与开发的应用程序或动态加载系统实现的对应的lib中的地址必须要一致,否则函数会跳转到错误的地址上。
分析下来看来都是可以实现的,个人觉得第二种方式可能会简单一点。