1 浮点类型-mfloat-abi
1.1 选项
-mfloat-abi=soft/softfp/hard |
支持3种类型,各类型含义如下:
- soft
不使用硬件浮点单元,gcc使用软浮点库来完成浮点运算。适用于不含FPU的CPU。
- softfp
使用硬浮点单元,会生成硬浮点指令,生成何种类型的硬浮点指令由-mfpu选项指定。调用接口的规则和soft选项一致。
- hard
使用硬浮点单元,生成硬浮点指令。与softfp的区别在于调用接口的规则不同。
1.2 示例
1.2.1 示例代码
float mul(float a, float b) { return a*b; } |
1.2.2 soft选项
编译及反汇编命令
arm-linux-gcc -Wall -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=soft -c test.c |