0

または、コンパイル時にのみ実行できる (したがって、コンパイル単位内でのみ機能する) いくつかの最適化はありますか? 私が質問したのは、C ではコンパイル単位がソース ファイルであり、状況によってはソース コードを個別のファイルに分割しない理由があるかどうかを理解しようとしているからです (たとえば、すべてのソースがは 1 つのファイルに含まれていませんでした)。

4

2 に答える 2

0

学術的な例:

main()
{
  int i;
  for (i = 0; i < MAX; i++) {
    fun(i);
  }
}

fun(int i)
{
  if (i == 0) {
    doSomething();
  }
}

fun同じコンパイル ユニット内にあり、data-flow-analys が有効になっている場合、foo-loop は単一の関数呼び出しに最適化できます。

しかし、私はMooseBoysのコメントにとどまります.

于 2015-02-24T15:36:18.290 に答える