硬浮点指的是浮点数协处理器
软浮点指的是gcc等编译器的浮点数模拟协处理器
arm硬浮点、软浮点有一下几种方式:
编译参数 目标程序大小 运行时间(ms)
编译时不带任何参数, 15778 87
-mfloat-abi=softfp -mfpu=vfp 16209 23
-mfloat-abi=softfp -mfpu=neon 15533 23
-mcpu=cortex-a8 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp 15273 24
-mcpu=cortex-a8 -march=armv7-a -mfloat-abi=softfp -mfpu=neon 15277 24
从以上测试可以看出, -mcpu=cortex-a8 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp编译出来的文件大小最小,-mfloat-abi=softfp -mfpu=vfp和-mfloat-abi=softfp -mfpu=neon编译出来的运行速度最快,
不带任何参数编译时,运行速度最慢,从上面可以看出,-mfloat-abi=softfp -mfpu=neon是性价比最高的一种方式,运行速度最快,文件大小相对也较小。