重定向:是指用户可以自己重写c的库函数,当连接器检查到用户编写了与C库函数相同名字的函数时,优先采用用户编写的函数,这样用户就可以实现对库的修改了。
为了实现重定向printf()函数,我们需要重写fputc()这个c标准库函数,因为printf()在c标准库函数中实质是一个宏,最终调用了fputc()这个函数。
例如 用户有一个I/O设备,如USART。本来库函数 fputc()是把字符输出到调试器控制窗口上去,但用户要把数据通过USART输出到串口助手上去,这样一来,用到的基于fputc()函数的printf()系列函数的输出都需要被重定向到USART端口上去。
所以要想使用USART功能,用户必须自己重定向fputc()函数。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』