通宵敲代码 发表于 2014-5-22 17:11

为什么不搞成一个工程呢,反正你是要烧到一起的!

奔牛滚滚 发表于 2014-5-22 17:17

我也遇到这个问题,关注一下.
关键是共用部分怎么处理.我希望共用的函数地址一直不变.iap和app都调用这个共用部分

lr2131 发表于 2014-5-22 20:14

已经搞定了代码公用的问题了。

接下来再仔细测试下,感觉没什么大问题。

然后是数据公用的问题看要怎么解决。

lr2131 发表于 2014-5-22 20:17

贾丝文 发表于 2014-5-22 14:11 static/image/common/back.gif
编译第一个文件时,把函数指定绝对地址,第二个文件声明这个函数地址,就可以直接用了
...

一个或几个公用函数可以这么指定地址,但那么多的话就好办了。

函数不像数组那样可以计算编译出来后的长度。

lr2131 发表于 2014-5-22 20:18

奔牛滚滚 发表于 2014-5-22 17:17 static/image/common/back.gif
我也遇到这个问题,关注一下.
关键是共用部分怎么处理.我希望共用的函数地址一直不变.iap和app都调用这个共 ...

一个或几个公用函数可以这么指定地址,但多了的话就不好办了。

函数不像数组那样可以计算编译出来后的长度。

lr2131 发表于 2014-5-22 20:18

已经搞定了代码公用的问题了。

接下来再仔细测试下,感觉没什么大问题。

然后是数据公用的问题看要怎么解决。

lr2131 发表于 2014-5-22 20:21

通宵敲代码 发表于 2014-5-22 17:11 static/image/common/back.gif
为什么不搞成一个工程呢,反正你是要烧到一起的!

IAP和APP搞到一个工程就够烦死了,3个4个的放一起更烦。
出厂的时候,可能会一起烧,但以后卖出去做IAP就不一定了。
另外,公用函数也说不定有升级的可能。

lr2131 发表于 2014-5-22 20:22

奔牛滚滚 发表于 2014-5-22 17:17 static/image/common/back.gif
我也遇到这个问题,关注一下.
关键是共用部分怎么处理.我希望共用的函数地址一直不变.iap和app都调用这个共 ...

你也遇到这样的问题吗?
好像有这种节省空间需求的不多吧。

lr2131 发表于 2014-5-22 20:27

奔牛滚滚 发表于 2014-5-22 17:17 static/image/common/back.gif
我也遇到这个问题,关注一下.
关键是共用部分怎么处理.我希望共用的函数地址一直不变.iap和app都调用这个共 ...

其实地址变了也无所谓的,就算是参数接口和返回类型变了也无所谓的。


你在flash中固定的地址存储这些公用函数的地址,如果函数地址变了,就把flash那块存储公用函数的地址值也一起变过来。

函数接口变了,就先升级公用函数,然后升级调用公用函数的工程,接口也对应的变过来就行。

只是这些函数要求必须是可重入函数,不能使用静态变量。

其实就是要使用到静态变量,也不是绝对不行,解决方法有,但很复杂,我也在思考中。

zchong 发表于 2022-5-17 09:40

思路不错,准备试试
页: 1 [2]
查看完整版本: 怎么单独编译一个C文件生成HEX或BIN文件