作者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