[問題] 在Keil C51 怎麼做weak function?

作者: MaxHaru (懂得放手..才是王道)   2019-01-05 12:30:23
請教一下各位前輩, 在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定義的,
請問有人知道嗎?
謝謝各位
作者: suninrain (低潮)   2019-01-07 11:56:00
沒有看過,可是類似的有在define macro看過~
作者: MaxHaru (懂得放手..才是王道)   2019-01-08 15:40:00
請問macro要怎麼做呢?
作者: NAMESTANLY (Stanley~ New life)   2019-01-10 16:39:00
__weak void func(char arg);
作者: MaxHaru (懂得放手..才是王道)   2019-01-13 23:44:00
有試過, 但會有error產生; missing ';' before 'void'

Links booklink

Contact Us: admin [ a t ] ucptt.com