我有一个在古老的Infineon C166处理器上运行的程序,该程序是用Keil C166编译的。 Keil浮点算术库具有复杂性,可以将单精度浮点比较的尾数精度降低到21位,而不是24位。
http://www.keil.com/support/docs/3627.htm
当将代码交叉编译到Visual Studio时,这种效果变得明显,因为在Keil代码上两个浮点值0.9正负epsilon(0x3F666666“ <” 0x3F666667)被认为相等,而Visual Studio正确地认为小于另一个。
为了尝试对交叉编译的代码产生相似的效果而无需在各处更改“ <”运算符(嵌入式代码是“黄金参考”),有一种方法可以在其中拦截/交换浮点运算符而是使用Visual Studio(禁用内部函数并链接一组自定义的FP函数)?