我可以将Newlib assert()函数用于使用Small C库标志编译的Nios II软件项目吗?

Newlib assert()函数调用Nios®IISmall C库不支持的fiprintf函数。但是,您可以使用assert()修改它以使用fprintf而不是fiprintf。为此,请将<nios2安装目录> /bin/nios2-gnutools/src/newlib/newlib/libc/stdlib/assert.c文件复制到系统库项目中。然后修改对fiprint的调用以调用fprintf。换句话说,更改以下代码:

(void)fiprintf(stderr,“assertion \%s \ failed:file \%s \,line%d \ n”,failedexpr,file,line);

读书:

(void)fprintf(stderr,“assertion \%s \ failed:file \%s \,line%d \ n”,failedexpr,file,line);

然后保存修改后的assert.c文件并重新编译项目。编译器现在将获取assert.c的本地副本而不是库版本。

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

提问于 2018-08-02 13:39:34 +0800

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

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