void run_hot(void) {
// I am called very often!
serve();
// <more code here>
}
void run_cold(void) {
// I am called only occasionally!
serve();
// <more code here>
}
???inline??? void serve(void) {
// I only want to be called inline from hot functions!
// <more code here>
}
明示的ないC機能で同じ関数Aをインライン化ながら、明示的に機能機能Bでをインライン化する方法はありますか?それとも、私のコンパイラが完全に慈悲であるのですか?関数を部分的または選択的にインライン化することはできますか?
別のコンパイル単位に関数を挿入することで、インライン展開を禁止することができます。 –
@JensGustedt例を挙げることができますか?私はあなたが何を考えているかを推測するのにいくつかの困難を抱えています。 – Will
関数がインライン化されないようにするには、定義を別の.cファイルに入れて別々にコンパイルします。 –