Re: [請益] KeilC指定function位址

看板ASM作者 ( )時間10年前 (2014/02/19 18:12), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《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

02/28 06:22, , 1F
當然可以
02/28 06:22, 1F
文章代碼(AID): #1J18E28z (ASM)
討論串 (同標題文章)
文章代碼(AID): #1J18E28z (ASM)