我的代码(根据我认为与此问题相关的内容)是
PROGRAM test
IMPLICIT NONE
CHARACTER(len=37) input
CHARACTER(len=:), allocatable :: input_trim
WRITE(*,*) 'Filename?'
READ(*,*) input
ALLOCATE(character(len=LEN(TRIM(input))) :: input_trim)
input_trim=trim(input)
.
.
.
END PROGRAM test
Run Code Online (Sandbox Code Playgroud)
它适用于英特尔的Fortran编译器,但是gfortran给了我一些错误,第一个是在线说
CHARACTER(len=:), allocatable :: input_trim
Run Code Online (Sandbox Code Playgroud)
我不确定哪个编译器对Fortran标准是"正确的".另外,我不知道如何以不同的方式实现我的需求?!我认为我正在做的更多是一种解决方法.我需要的是一个字符变量,其中包含输入的文件名,没有后续空格.
编辑:错误是"CHARACTER声明中的语法错误".gfortran --version给了我"GNU Fortran(GCC)4.4.7 20120313(Red Hat 4.4.7-3)"
编辑2:关于分配你是对的:使用ifort,我不需要它.并且gfortran在此之前崩溃所以也许它不需要分配,但我现在无法测试这个...
我们的Gitlab管道生成了一些性能图表,我希望通过电子邮件将其发送给每个团队成员.到目前为止,它们被标记为工件,因此Gitlab会保留它们.Gitlab有什么方法可以实现这个目标吗?或者我应该在工作脚本中这样做?
我正在实现一个新功能,可能导致沿着某个代码路径递归调用的很多子程序.
因此,我必须将recursive属性分配给这些子例程.
我的问题是:这如何影响这些子程序的计算时间?性能在该代码中非常重要,因此最好知道这可能产生的任何影响.