当我尝试运行以下行时,我收到运行时访问冲突:
float x;
x = 29.600;
printf("%f", x);
这是CPP项目中的*.C
文件,在内核空间中运行。
操作系统为vxworks 6.7
另一方面,整数值正在打印出来。 此外,如果它可能有帮助,浮动值将打印出一次。在完整应用程序的初始化期间。 任务有浮点支持,因此也不应该是问题。 在Windows平台/ MVCE
上,相同的代码段正常运行关闭之前没有MVCE或显然正确的C代码:
此问题与嵌入式系统上的内核模式有关。 MVCE至少应该包含内核代码和所有内核开发环境参考。 同样在内核开发中,由于内核对性能改进的限制,因此某些完全正确的代码在上下文中会中断,这并不奇怪。
答案 0 :(得分:1)
这对我有用:
在内核配置(项目浏览器)中,windriver工作台显式提供了添加浮点数学支持的选项,这解决了整个问题。