Я хотел бы реализовать флаг уровня детализации в программе на Фортране следующим образом. В коде будут использоваться операторы

write (level1, *) 'This will be shown always'
write (level2, *) 'This will be shown sometimes'

И потоки level1, level2 и выше будут либо равны output_unit, либо соответствовать /dev/null (в Unix), в зависимости от значения флага подробности, предоставляемого Пользователь.

Однако /dev/null не зависит от платформы. Я мог бы попытаться определить Windows вручную и поработать там с NUL, но я не хочу писать код для конкретной платформы. Есть ли в Фортране независимый от платформы способ записи в приемник вывода с помощью write?

1
jacob 15 Июн 2020 в 11:03

1 ответ

Лучший ответ

Я превратил свой предыдущий комментарий в ответ, поэтому мы можем отметить этот вопрос ...

Fortran не предоставляет независимый от платформы способ отправки вывода в пустоту. Если бы мне понадобилась возможность, я мог бы написать небольшой платформенно-зависимый код и обернуть его в модуль, чтобы мне больше не приходилось смотреть на него.

0
High Performance Mark 18 Июн 2020 в 06:42