作者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/cn.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