2013-06-13 3 views
1

Используя компилятор pgf90, можно ли получить имя исполняемого файла во время выполнения? Было бы неплохо сохранить эту информацию на выходе вместе с номером ревизии svn (это уже реализовано и сделано во время предварительной обработки).Получить исполняемое имя во время выполнения

благодаря

+0

Могу ли я спросить, как вы храните Svn номер версии? – bdforbes

+0

Номер версии svn версии довольно сложный. Мы получаем номер версии во время компиляции (svn info), а затем используем ее как опцию препроцессора, чтобы получить ее в фактическом fortran-коде. –

ответ

5

Fortran 2003 представил GET_COMMAND_ARGUMENT. Помимо получения аргумента команды, он позволяет получить имя команды, с которой была вызвана программа. Это передается в аргументе номер 0. Возможно, ваш компилятор достаточно недавний, чтобы его поддерживать. Точный текст того, что передается в аргументе, зависит от компилятора.

 
program cmd_name 
    character :: cmd*100 
    call get_command_argument(0, cmd) 
    print *, "command name : " // cmd(1:len_trim(cmd)) 
end program 

с Ifort 13.1 на Windows, это печатает:

 command name : cmd_name
+0

Просто попробовал это, он также работает с gfortran 4.4.6. – Yossarian

+0

спасибо, отлично работает –

Смежные вопросы