作者MaxHaru (懂得放手..才是王道)
看板ASM
標題[問題] 在Keil C51 怎麼做weak function?
時間Sat Jan 5 12:30:23 2019
請教一下各位前輩, 在Keil C51中,
可以透過定義新的putchar()來取代stdio.h原本的putchar(),
然後stdio.h中的printf(), puts()等function中, 就會去使用新定義的puchar(),
而不會使用原本的putchar(), 在stdio.h中的這種function好像叫weak function..
也就是說, 如果有定義新的, 就使用新的, 沒有的話就使用weak function..
請問, 有人知道怎麼在Keil C51 (for 8051)做出這種function嗎?
例如: 我有一個函式void func(char arg); 裡面只有做很簡單的動作
User可以定義一個一樣名稱的function來做其它較複雜的動作..
如果user沒有定義, Compiler就用我的,
如果user有定義, Compiler就用user定義的,
請問有人知道嗎?
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.193.30
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1546662626.A.1CC.html
1F:推 suninrain: 沒有看過,可是類似的有在define macro看過~ 01/07 11:56
2F:→ MaxHaru: 請問macro要怎麼做呢? 01/08 15:40
3F:推 NAMESTANLY: __weak void func(char arg); 01/10 16:39
4F:→ MaxHaru: 有試過, 但會有error產生; missing ';' before 'void' 01/13 23:44