我有一个 Fortran 模块,其中包含一些具有属性的变量parameter
和一些具有属性的变量save
。这些parameter
不包含在编译对象中,这在尝试组装库时会成为问题。例如,考虑一个文件testModule.f90
:
module testMOD
integer, save :: thisIsSaved = 1
integer, parameter :: thisIsParametered = 2
end module testMOD
我编译这个:ifort -c testModule.f90
。当我检查里面的东西时:
>$ nm testModule.o
0000000000000000 T testmod._
0000000000000000 D testmod_mp_thisissaved_
只有thisIsSaved
变量在那里。我知道我可以更改thisIsParametered
为save
而不是parameter
,但理想情况下,我想阻止链接用户更改此值。有没有办法做到这一点?
编辑:我希望这个库也可以被 C 代码访问,而不仅仅是 Fortran。