Могу ли я добавить прагму `Inline` в тело вместо spe c? - PullRequest
4 голосов
/ 14 февраля 2020

Информационный центр Ada заявляет следующее :

Использование прагмы Inline имеет свои недостатки. Это может создать зависимости компиляции от тела; то есть, когда в спецификации используется прагма Inline, может потребоваться компиляция спецификации и соответствующего тела, прежде чем можно будет использовать спецификацию. это проблема?

1 Ответ

5 голосов
/ 14 февраля 2020

Преимущество состоит в том, что Inline в спецификации допускает встраивание между единицами, что может быть очень мощной оптимизацией во время выполнения.

Упоминаемый вами недостаток имеет значение, скорее, когда вы компилируете на компьютере, который медленный или имеет несколько ядер. Тогда это время выполнения против компромисса времени компиляции.

Обратите внимание, что в GNAT, перекрестное встраивание включается одним переключателем (-gnatn), так что не пугайтесь Inline прагма создания зависимостей компиляции: с помощью этого переключателя вы можете включить или выключить весь механизм.

...