LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

インライン関数

インライン関数(Inline Function)とは、プログラミング言語の構文の一種で、コンパイラに対して特定の関数をインライン展開するよう指示するものである。つまり、コンパイラに対して、その関数を呼び出している全ての箇所に関数の実体を挿入するよう指示する。インライン展開は、関数呼び出しにかかるオーバーヘッドを無くす目的で行われる。一般に関数自体が非常に小さくオーバーヘッドの割合が無視できない場合に使われる。非常に小さい関数の場合、メモリ使用量を削減することもでき、各種最適化を施す上でも有利である。インライン関数がない場合、プログラマはどの関数をインライン展開すべきかを指定できず、コンパイラが勝手に判断することになる。インライン関数機能があれば、そのアプリケーション固有の知識を元にして(どの関数がよく使われるかなど)、インライン展開すべき関数を決定できる。また、言語によってはインライン関数はコンパイルモデルと密接に関連している。例えばC++では、インライン関数はモジュール単位に定義する必要がある(通常の関数は1つのモジュールで定義すればよい)。これにより、モジュール単位に独立したコンパイルができるようになっている。C言語(C89)などでは、インライン展開をソースレベルの引数付きマクロで実現してきた。インライン関数はマクロに比べて次のような利点がある:C++ の設計者ビャーネ・ストロヴストルップは、マクロよりもインライン関数を使うべきだと主張している。C99 や C++ はインライン関数をサポートしている。ただし、Microsoft Visual C++ など、いまだ C89 までしか対応していないCコンパイラはインライン関数をサポートしていなく、Microsoft Visual C++ の場合は codice_1 キーワードで対応している。Microsoft Visual C++ や g++ などは、インライン関数として指定されていなくてもインライン展開すべき関数を自動的に展開するオプションを用意している。Ada では codice_2 をインライン関数として使うことができる。Java や JavaScript は言語仕様には存在しないが、JITコンパイラが最適化の一環でインライン展開することもある。関数型言語など他の多くの言語はインライン関数をサポートしていないが、インライン展開を積極的に行うことが多い。インライン展開の方針はコンパイラによって異なる。C99/C++ ではインライン関数は次のように記述される:インライン展開にまつわる問題だけでなく、インライン関数は言語機能として積極的に使用されない一面がある。その理由は次の通りである:インライン展開そのものの問題についてはインライン展開の欠点を参照されたい。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。