c - 为什么即使标识符未解析,构建也会成功?
问题描述
我在我的代码中使用了指令 snprintf:
snprintf(debugstr, sizeof(debugstr), "FW: %s ver %s\r\n", FW_NAME, FW_VERSION);
我正在使用带有编译器 XC16 v1.31 的 MPLAB IDE,并在项目属性部分启用了“使用旧版 libc”选项。当我构建项目时,我收到消息:“构建成功(总时间:104 毫秒)”。
但是,在编辑器窗格的源 .c 文件中,当我将鼠标指针移到上述代码行号上时,会显示一条错误消息:“无法解析标识符 snprintf”(请参阅随附的图像)。
我的问题是:项目成功构建并同时出现未解析的标识符错误消息是否正常?为什么?
感谢您的关注!
G
解决方案
来自 snprintf() 的 MAN 页面
snprintf(), vsnprintf():
_XOPEN_SOURCE >= 500 ||
_ISOC99_SOURCE ||
/* Glibc versions <= 2.19: */ _BSD_SOURCE
所以你需要开始你的源文件:
#define _BSD_SOURCE
推荐阅读
- java - 无法解析构造函数 ArrayAdapter (Context, int, java.util.List)
- java - 有没有办法从构造函数复制数据并使用另一个构造函数添加另一个数据
- emacs - 在emacs中使用“点查找文件”后如何取回原始文件
- spring - 服务事务中的spring存储库事务
- angular - 事件发射器绑定
- amazon-s3 - CORS 问题从 s3 调用 ec2
- sql - 在 SQL 中仅使用一次选择的每 X 行的平均值
- python - Pandas - 检查哪一列与另一列匹配 - 不是布尔值
- python-3.x - 删除验证码文本中不需要的行 - opencv - python
- excel - 将修剪应用于单元格...值会生成应用程序定义的错误