对于相同的精度变化,Fortran类型参数是否依赖于处理器,即使使用相同的编译器也是如此?我已经阅读了帖子here。
我努力的事情是,如果我们使用相同的编译器,比如gfortran,为什么会有相同精度的不同种类参数?我的意思是,编译器的规范是相同的,所以不管我使用什么操作系统或处理器,编译器是否应该始终为特定类型参数提供相同的精度?
编辑:我读了一些关于整数的地方,不同的CPU支持不同的整数数据类型,这意味着某些处理器可能不会直接支持整数的某些精度。我还读到像Fortran这样的编程语言选择优化,因此语言的实现方式可以避免硬件不直接支持的奇怪精度。这与我的担忧有关吗?答案 0 :(得分:1)
你在问他们是否会改变"。答案是"他们可以"。
某种类型的某种值的含义是Fortran处理器(语言概念 - 与微处理器不同)依赖。
Fortran处理器的概念涵盖整个系统,该系统负责处理和执行Fortran源 - 硬件,操作系统,编译器,库,甚至是人工操作员 - 所有这些。更改该系统的任何部分,您可以拥有不同的Fortran处理器。
因此,鉴于编译器选项或使用的硬件存在差异,不要求对同一编译器的特定类型值的解释相同。
如果您希望代码可移植,请不要让代码依赖于特定的类型值。