ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

インライン化

ゲームプログラマになる前に覚えておきたい技術で高速化についての話。関数呼び出しのオーバーヘッドを回避するための方法の1つとしてあげられていたのがインライン化。そのインライン化には条件がある。

その関数の中身が、使う場所から見えていなければならない。

ヘッダファイルの関数定義でinlineと付けても、ソースファイルで関数の中身が書かれていた場合は、ヘッダファイルをインクルードした他のソースファイルではインライン化されない。
さらに本ではインライン化すべき時として次のような条件をあげていた。
1.頻繁に呼ばれている
2.関数の中身が十分に短い
3.使用者が知らなくていい型を使っていない。インクルードを増やさない
4.コードを修正することがまずない。コンパイルしなおしの影響が小さい