我有一个 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。