尝试在Nios II中使用alt_getchar()时,为什么会出现错误“未定义引用'getc'”?

当选中“启用Small C库”选项并且未选中“启用轻量级器件驱动程序API”选项时,可以看到此问题。

“启用小型C库”选项可以从Nios II板级支持包(BSP)中删除许多功能,包括STDIN例程。这些函数包括例程getchar(),它调用getc()。

“启用轻量级器件驱动程序API”优化了alt_getchar(),alt_putstr(),alt_printf()和alt_putchar()函数。如果未选中此选项,这些函数将直接调用其库C等效项getchar(),putstr(),printf()和putchar()。

因此,选中“启用Small C库”并取消选中“启用轻量级器件驱动程序API”,alt_getchar()将映射到getchar()函数,该函数不再位于库中。

为了成功使用alt_getchar函数,用户需要取消选中“启用Small C库”或在BSP设置中启用“启用轻量级器件驱动程序API”。

解决/修复方法

当选中“启用Small C库”选项并且未选中“启用轻量级器件驱动程序API”选项时,可以看到此问题。

“启用小型C库”选项可以从Nios II板级支持包(BSP)中删除许多功能,包括STDIN例程。这些函数包括例程getchar(),它调用getc()。

“启用轻量级器件驱动程序API”优化了alt_getchar(),alt_putstr(),alt_printf()和alt_putchar()函数。如果未选中此选项,这些函数将直接调用其库C等效项getchar(),putstr(),printf()和putchar()。

因此,选中“启用Small C库”并取消选中“启用轻量级器件驱动程序API”,alt_getchar()将映射到getchar()函数,该函数不再位于库中。

为了成功使用alt_getchar函数,用户需要取消选中“启用Small C库”或在BSP设置中启用“启用轻量级器件驱动程序API”。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-04 14:19:42 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它