GCC 4.5 在运行时库 (http://gcc.gnu.org/gcc-4.5/changes.html) 中增加了对十进制浮点的支持。我能够编译代码,包括使用命名空间std::decimal,然后在代码中使用decimal64等等。
不幸的是,我缺少一些用于链接代码的库。我无法找出应该需要哪些库。在 gcc 中启用了 DFP 支持(--enable-decimal-float=dpd)
此外,是否应该有一些在代码中提供十进制文字的快速方法?快速,我的意思是用户定义的文字,由模板处理并在编译时翻译。我不想提供在运行时转换的双打(尽管性能和我真的无法忍受将评估从编译时移动到运行时仍然存在舍入问题......)。我已经找到了后缀“df”,但编译器似乎无法识别。
我在目标 powerpc-ibm-aix7.1.0.0 上使用 gcc 版本 4.7.1。
链接器错误消息:
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatsisd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatsidd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatsitd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_mulsd3
ld: 0711-317 ERROR: Undefined symbol: .__dpd_muldd3
ld: 0711-317 ERROR: Undefined symbol: .__dpd_multd3
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatdisd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatunsdisd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatdidd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatunsdidd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatditd
ld: 0711-317 ERROR: Undefined symbol: .__dpd_floatunsditd
TIA。