keil中,putchar函数使用问题
在网上查资料知道keil中直接使用printf函数打印输出.printf函数是调用putchar函数输入的,况且我也知道使用printf之前是要先将TI置1的,我的问题是...
在网上查资料知道keil中直接使用printf函数打印输出.printf函数是调用putchar函数输入的,况且我也知道使用printf之前是要先将TI置1的,我的问题是“假如我自己写了一个putchar函数,那么printf函数在调用时就不再调用库里边的,这样理解对吗”。因为我看到好多在用到串口时都是自己写putchar函数。
展开
展开全部
include不同的头文件,就可樱毕以调用不同的putchar函数,你所百度的关于printf函数的是include<stdio.h>。如果同时加入stdio和自己又重新写putchar函数的时候,会出现两种情况,一起是C++的函数重载(具体可以看c++相关书籍),即不同的参数调余隐用不同的函数。另外一种竖颂厅就是报错,会出现 Symbol putchar multiply defined (by std.o and ***.o)。
追问
但是在keil中,既包含了stdio.h,自己又定义了putchar函数,没报错啊
追答
首先你需要确认STOIO.H里面是否包含了一一模一样的函数putchar,看是有出现函数重载了,最后需要去确认两个函数是不会出现调用重复的地方,如果是局部函数,也是不会报错的,自己多看看程序分析一下,不难的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询