第一次在这里发帖
我目前正在为嵌入式设备移植一些代码。基本上从过时的现有专有编译器中获取所有内容以使用新编译器(AVR-GCC)
我在结构中遇到了这个看起来很奇怪的变量(无论如何对我来说!)。我无法弄清楚括号是什么。它位于用于原始值的结构中:
float (*tc)( float value );
我的 IDE 将“value”突出显示为编译器关键字,就像“float”一样,所以我不知道这是否是 AVR-GCC 特定的?
然后在一个函数中使用它,该函数有一个名为“reading”的浮点参数,并尝试返回以下内容:
return (raw[rCN3].tc)( reading );
上面的行实际上导致程序尝试访问越界内存。
我以前从未见过这样的代码,所以想知道是否有人可以帮助我破译它?它适用于旧编译器,但导致 AVR-GCC 出现问题
提前致谢。亚历克斯