【发布时间】:2021-02-04 16:13:44
【问题描述】:
我不确定如何从系统中找出是否支持__float128 类型。必须满足哪些系统要求才能使其可用,有没有办法检查 C 代码中是否满足这些要求? (供参考,我的系统支持__int128,但不支持__float128。)
【问题讨论】:
-
以下划线开头的任何内容都将是编译器特定的且不可移植的。它更像是一个编译器而不是系统问题(或者可能两者兼而有之)。
-
啊,好吧。不过,我关于检测这一点的问题仍然存在。
-
当您说要“检测”它时,您能详细说明一下吗?在配置脚本或类似文件中检测它?通过使用预处理器宏?还有什么办法? “检测”这样的事情更多地取决于您的环境以及您如何配置和构建项目。
-
预处理器宏。
-
正如the answer by Eric Postpischil 中提到的,单独使用预处理器宏可能是不可能的。如果您有某种配置脚本或项目生成器(例如 GNU Autotools 或 CMake 或类似的),那么您可以要求脚本检查类型。否则可能无法可靠地检测其可用性。
标签: c floating-point