IAR-EWARM编译printf函数报错

[复制链接]
2067|6
 楼主| wnwnwn 发表于 2013-10-26 20:50 | 显示全部楼层 |阅读模式
本帖最后由 wnwnwn 于 2013-10-28 09:43 编辑

用EWARM编译这段代码报错

#pragma import(__use_no_semihosting)

struct __FILE
{
int handle;
/* Whatever you require here. If the only file you are using is */
/* standard output using printf() for debugging, no file handling */
/* is required. */
};
/* FILE is typedef’ d in stdio.h. */
FILE __stdout;

1、无法识别#pragma
2、重定义__FILE

请问如何解决呢?


QQ截图20131026204952.jpg
 楼主| wnwnwn 发表于 2013-10-28 09:42 | 显示全部楼层
没人遇到这个问题么?
 楼主| wnwnwn 发表于 2013-11-1 15:40 | 显示全部楼层
求解答
香水城主 发表于 2013-11-1 16:55 | 显示全部楼层
1、把无法识别的#pragma去掉
2、把重定义的__FILE去掉

就这么简单!
 楼主| wnwnwn 发表于 2013-11-6 16:06 | 显示全部楼层
香水城主 发表于 2013-11-1 16:55
1、把无法识别的#pragma去掉
2、把重定义的__FILE去掉

#pragma的意思不是禁止使用半主机模式么?去掉的话没关系么?

还有就是重定义__FILE是为了什么呢?
 楼主| wnwnwn 发表于 2013-11-16 21:07 | 显示全部楼层
基本搞明白了,不用退出半主机模式,直接重定义fputc就行了
cjhk 发表于 2013-11-17 09:41 | 显示全部楼层
问题解决了  就好  楼主  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

60

帖子

0

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