変数宣言を外部関数に置くことは可能ですか? Wikipediaから読み込んだ後、変数宣言をCの別の関数に置く
インライン関数は、インライン展開を実行するようにコンパイラに要求された関数です。言い換えれば、プログラマは、コンパイラが、定義された1つの場所で関数を呼び出すためのコードを生成するのではなく、関数が呼び出されるすべての場所に関数の完全な本体を挿入するように要求しました。
私は以下のことが働くと仮定しました。それはしていません。私の知る限り承知しているとして、インライン関数が非インライン関数へ意味的に同等に動作しなければならない - いいえ、それは私の指:(
inline void declaration(){
int a;
}
int main(){
declaration();
a=2;
return 0;
}
ウィキペディアの記事のキーワードは**要求**です。 'inline'は、あなたが尋ねるようにコンパイラに*要求するものではありません。それは単なる示唆です。したがって、インライン関数はすべて非インラインセマンティクスを持たなければなりません。 –
'inline'に関して、gccはC99のセマンティクスを要求するのか、gnu89のセマンティクスを要求するのかに応じて、複数の異なるバージョンのインライン展開を実装していることには注意する価値があります。 – torek