Встроенное ключевое слово gfortran - PullRequest
6 голосов
/ 20 июля 2011

Есть ли какое-либо ключевое слово Fortran, эквивалентное ключевому слову C "inline"?

Если существует какое-то ключевое слово для компилятора, есть ли какое-нибудь для gfortran?

Ответы [ 2 ]

7 голосов
/ 21 июля 2011

В общем, спецификации Fortran предоставляют авторам компилятора огромные возможности для реализации вещей, поэтому конструкция на уровне языка, которая вынуждает (или даже намекает) на конкретные оптимизации, была бы совершенно не-Fortran-y.

То, что вы обычно делаете в современном Фортране, - это не указание оптимизаций, а передача компилятору того, что он может использовать, чтобы решить, какие оптимизации следует реализовать. Так, например, маркировка функции или подпрограммы без побочных эффектов PURE, так что определенные оптимизации включены (и на самом деле, это может облегчить встраивание).

В противном случае, как указывает @Vladimir F, вы можете использовать опции компилятора, которые являются предписывающими таким образом.

В том же духе кажется, что подпрограмма CONTAIN ed более агрессивно встроена gfortran, но это может или не может помочь.

1 голос
/ 21 июля 2011

Нет исходного кода, о котором я знаю. Иногда вы можете использовать операторные функции, которые явно встроены. В противном случае используйте параметры строки команды компилятора как "-finline-functions" gfortran.

...