fortran可以告诉你一系列变量使用了多少字节

时间:2013-04-11 14:07:47

标签: fortran

说我有一堆变量a,b,c

integer*4 a
integer*8 b
real*8 c

有没有办法确定这些变量使用多少字节而不手动计算。我有一长串的变量,我需要知道用于写出目的的大小。

2 个答案:

答案 0 :(得分:1)

在Fortran 2008中,内在函数storage_size是可行的方法。此外,c_sizeof很有用。

对于Fortran 95中的整数,您可以使用bit_size

如果需要声明具有特定存储大小的变量,请使用模块iso_fortran_env中的类型常量,如real32

当然,如果您使用过时和非标准声明integer*4real*8,您始终知道字节数。它是星号后面的数字(定义为可以存储在数字类型中的默认字符数)。

如果需要某些变量集合的大小,可以使用相同的组件创建派生类型:

type,sequence :: dummy_t
  integer*4 a
  integer*8 b
  real*8 c
end type
type(dummy_t) :: dummy

并使用storage_size(dummy)或使用内在构造函数。

答案 1 :(得分:0)

如果您使用的是gfortran / ifort,则可以使用sizeof(gcc)/(IBM)命令。不确定其他编译器。