我使用的大多数perl安装都使用了longdouble undefined,但定义了d_longdbl。从字面上看,我猜这意味着长双打不会被用作默认的浮点类型,但是长双打是“支持的”。我很困惑,虽然长期双打被“支持”意味着什么。据我所知,Perl没有任何机制可以从默认设置中提升或提升到更高的精度。如果默认浮点类型是一个vanilla double,那么如何将长双精度转换为Perl程序。
答案 0 :(得分:2)
d_longdbl只是说在构建perl的环境中支持long double。
这会导致设置C宏HAS_LONG_DOUBLE,这是USE_LONG_DOUBLE的先决条件,并启用L和ll s / printf修饰符。
(它也适用于XS模块,可以根据它自由改变行为。)
答案 1 :(得分:0)