打印

IAR-EWARM编译printf函数报错

[复制链接]
1764|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 (52.3 KB )

QQ截图20131026204952.jpg
沙发
wnwnwn|  楼主 | 2013-10-28 09:42 | 只看该作者
没人遇到这个问题么?

使用特权

评论回复
板凳
wnwnwn|  楼主 | 2013-11-1 15:40 | 只看该作者
求解答

使用特权

评论回复
地板
香水城主| | 2013-11-1 16:55 | 只看该作者
1、把无法识别的#pragma去掉
2、把重定义的__FILE去掉

就这么简单!

使用特权

评论回复
5
wnwnwn|  楼主 | 2013-11-6 16:06 | 只看该作者
香水城主 发表于 2013-11-1 16:55
1、把无法识别的#pragma去掉
2、把重定义的__FILE去掉

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

还有就是重定义__FILE是为了什么呢?

使用特权

评论回复
6
wnwnwn|  楼主 | 2013-11-16 21:07 | 只看该作者
基本搞明白了,不用退出半主机模式,直接重定义fputc就行了

使用特权

评论回复
7
cjhk| | 2013-11-17 09:41 | 只看该作者
问题解决了  就好  楼主  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

60

帖子

0

粉丝