[解決済み] ある関数をインライン化しないようにgccに指示するにはどうしたらいいですか?
2022-05-10 16:32:59
質問
ソースファイルに次のような小さな関数があるとします。
static void foo() {}
この関数をインライン化したくないのですが、インライン化を防ぐためにソースコードに追加できるマクロはありますか?
解決方法を教えてください。
を使用する必要があります。
gcc
-特定の
noinline
属性で指定します。
このfunction属性は 関数は インライン化されます。もしその関数が 副作用がある場合は インライン化以外の最適化で は、関数呼び出しが最適化される原因 関数呼び出しは を生かす。そのような呼び出しを防ぐために 最適化されないように
asm ("");
こんな風に使ってください。
void __attribute__ ((noinline)) foo()
{
...
}
関連
-
[解決済み] stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み] Windows用Cコンパイラ?[クローズド]
-
[解決済み] CコードでEOFを表現する?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Cコードの単体テスト【終了しました
-
[解決済み] 関数/メソッドのキーワード 'inline' はいつ書けばよいのですか?
-
[解決済み] while ( !feof (file) ) 」は、なぜいつも間違っているのですか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] 印刷用のインラインif文の書き方は?
-
[解決済み】C言語の関数ポインタはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[C] レポートエラー 代入の左オペランドとしてlvalueが必要
-
赤線の位置は必ずしも間違っていない:式は変更可能なlvalueでなければならないエラーは、この文とは別の場所に存在する可能性があります。
-
[解決済み] Linux Socket write() によるBad File Descriptor C
-
[解決済み] CコードでEOFを表現する?
-
[解決済み] Linuxカーネルにおけるcontainer_ofマクロの理解
-
[解決済み] C関数から文字列を返す
-
[解決済み] Cコードの単体テスト【終了しました
-
[解決済み] なぜsizeof(x++)はxをインクリメントしないのですか?
-
[解決済み] FortranはC言語よりも重い計算を最適化しやすいですか?
-
[解決済み] 講師が書いたC言語のファイルは、なぜ最初の行に#が一つ付いているのですか?