GCC ARM的-mfloat-abi选项

发布于 2022-09-06 10:38:16 字数 1002 浏览 8 评论 3

GCC的ARM编译选项-mfloat-abi=name,其中soft和softfp有什么区别?

下面是GCC ARM的解释,我的理解是:

hard表示编译成浮点运算指令,一般是CPU内带有支持浮点运算的FPU

soft表示软件实现浮点运算,一般是在glibc里有软件的方法实现浮点运算(以前好像有种FPE的方法,在内核里面实现浮点运算,因为性能低下,现在很少使用)

softfp按照他的翻译是,虽然生成了浮点指定,但是仍然使用软浮点运算的调用规则? 什么意思。。

-mfloat-abi=name
Specifies which floating-point ABI to use. Permissible values are: `soft', `softfp' and `hard'.
Specifying `soft' causes GCC to generate output containing library calls for floating-point operations. `softfp' allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions. `hard' allows generation of floating-point instructions and uses FPU-specific calling conventions.

The default depends on the specific target configuration. Note that the hard-float and soft-float ABIs are not link-compatible; you must compile your entire program with the same ABI, and link with a compatible set of libraries.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蓝天白云 2022-09-16 20:43:01

> Permissible values are: `soft', `softfp' and `hard'.

渔村楼浪 2022-09-10 15:53:17

GCC的ARM编译选项-mfloat-abi=name,其中哪有soft和softfp

无人问我粥可暖 2022-09-08 01:17:35

> FPU-specific calling conventions

不熟悉arm,但看起来arm的FPU有特定的调用约定。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文