首页 > 解决方案 > gcc CortexM4 单精度 FPU:为什么使用例如。'powf' 双精度函数,例如 '__extendsfdf2' 或 '__aeabi_ddiv'

问题描述

在使用 GCC 编译列表文件检查 STM32F4 Cortex M4 时,我想知道为什么链接了许多双精度浮点函数,例如:

__aeabi_drsub
__aeabi_dsub
__subdf3
__aeabi_dadd
__adddf3
__floatunsidf
__aeabi_ui2d
__floatsidf
__aeabi_i2d
__aeabi_f2d
__extendsfdf2
__floatundidf
__aeabi_ul2d
__floatdidf
__aeabi_l2d

我使用标志来避免任何双重计算:-fsingle-precision-constant -Wdouble-promotion

我在每个常量后面添加了“f”,例如“2.3f”

有没有可能避免这种情况?

标签: cortex-m

解决方案


推荐阅读