作者mosquito520 ( )
看板ASM
标题Re: [请益] KeilC指定function位址
时间Wed Feb 19 18:12:15 2014
※ 引述《MaxHaru (懂得放手..才是王道)》之铭言:
: 请教各位,
: 我知道Keil C可以在环境中设定function要放在哪个位址.
: 现在想用#if / #endif来定义function存不存在,
: 结果发现, 当环境设定中设定了function要放在哪位址址.
: 但#if定义function不存在时, Keil C Compile会有问题.
: 所以想来这里请教, 是否有什麽方法可以直接在source code直接定义function的位址.
: EX:
: #if exist
: ...定义function的位址...
: ...function定义...
: #endif
: 谢谢.
在Keil C当中直接指定function的位址,
其实这个动作是在Linker阶段执行的,
所以如果Compiler因为macro把function忽略掉,自然就没有symbol给Linker去安排
如果只是要取得function的位址,可以考虑透过function pointer取得function的位址
这样可以在Compiler阶段用macro整个disable掉
缺点是,没办法将function固定在特定位址
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 110.25.82.197
1F:推 WolfLord:当然可以 02/28 06:22