重定义 int fputc(int ch, FILE *f),FILE未定义??

[复制链接]
13479|6
 楼主| zhaoweige 发表于 2011-11-7 17:13 | 显示全部楼层 |阅读模式
使用printf()函数时,要重定义fputc(int ch, FILE *f)
我重定义后编译报错,FILE未定义。。。
相关头文件都包含进去了的

在stdio.h中:
#if _DLIB_FILE_DESCRIPTOR
  typedef _Filet FILE;
#endif /* _DLIB_FILE_DESCRIPTOR */

在DLib_Defaults.h中:
#ifndef _DLIB_FILE_DESCRIPTOR
#define _DLIB_FILE_DESCRIPTOR 0
#endif


我把#define _DLIB_FILE_DESCRIPTOR 0  改成:
#define _DLIB_FILE_DESCRIPTOR 1

编译通过,也能用printf函数给串口打印

我买的板子上根本没改这里也可以用prinft()
网上很多资料也没提到修改这里
改了这里有什么影响没????
bitter 发表于 2011-11-7 20:50 | 显示全部楼层
本帖最后由 bitter 于 2011-11-7 20:51 编辑

#include <stdio.h>

IAR中 选择库类型 为FULL 好象是。
这样FILE就支持了
 楼主| zhaoweige 发表于 2011-11-8 07:06 | 显示全部楼层
2# bitter
试试看
 楼主| zhaoweige 发表于 2011-11-8 07:16 | 显示全部楼层
确实是,看了下normal ,full 选择的说明
选择full 时才支持file descriptor

忘说是用的IAR EWARM。。。:L
taitaijing 发表于 2011-11-23 13:45 | 显示全部楼层
还是需要把定义的格式弄好了。
会飞的狼_2058 发表于 2015-6-3 08:34 | 显示全部楼层
这么强大,改天试试看有木有效果!!!!
xu8426975 发表于 2016-3-1 23:01 | 显示全部楼层
在mdk5中夜出现未定义的是什么情况啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

147

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部