关于printf()函数定义文件

2019-08-16 22:12发布

为什么无法用mdk打开printf()函数的定义文件?显示undefined Definition/Reference?既然可以运行,那么说明MDK一定编译了printf()函数所在的文件,为什么在工程里智能找到它的头文件而找不到定义文件?我想看它的定义是想知道具体怎么用它来输出数据到串口。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
taizonglai
1楼-- · 2019-08-17 00:35
printf()函数是C库里面的函数,在MDK中你只能使用,找不到源码,所以你go to define找不到!memset,memcpy,sprintf等等这些C库函数,你都试一下,全部都找不到
DongInker
2楼-- · 2019-08-17 04:18
[mw_shl_code=applescript,true]u8 _IDATA PrintfBuf[64];
#define DbgSendByte(m) Uart0Send(m)

u8 debug_printf(char *format,...)
{
        u8 length = 0,i = 0;

        va_list arg_ptr;

        va_start (arg_ptr, format);           /* format string */
        vsprintf (PrintfBuf, format, arg_ptr);
        va_end (arg_ptr);
        length = strlen(PrintfBuf);
        for(i=0;i<length;i++)
                DbgSendByte(PrintfBuf);

        return length;
}[/mw_shl_code]

这是我串口调试定义的打印函数,功能跟printf是一样使用的,可以参考下

一周热门 更多>