タグ

2020年6月15日のブックマーク (1件)

  • C言語のinline - 簡潔なQ

    C/C++のinlineで間違いやすい3つのポイントがある。 1つは、GCCは3種類の異なるinline仕様を使い分けているという点である。3種類とは、「C++のinline」「C90用のGCC拡張inline」「C99以降のinline」である。 2つ目は、inlineを使っても、コンパイラが必ずインライン化を行うとは限らないという点である。 3つ目は、inlineを使うときは、プログラマは必ず、コンパイラがインライン化を行えるように特定の配慮をしなければいけないという点である。 つまり、inline関数は、「実体がどこにあるか」「inline化のための情報が足りているか」という2つの状態を同時に制御する必要がある。この細かい扱いの違いがバージョンにより異なるということになる。 以下バージョンごとの解説。おそらく歴史的な導入順序とは逆になっている。 C99以降のinline C99以降の

    C言語のinline - 簡潔なQ