No.2ベストアンサー
- 回答日時:
>例えば、上のコードで関数func()がインライン展開されてるかどうかを知りたいと思います。
基本的にプロジェクトの設定によります。
分かりやすいよう以下のようなコードでコンパイルしVisual Studio 2005 Professionalで調べてみました。
int func(int a){
return a + 2;
}
int main(){
int b = func(2);
return b;
}
release版(デフォルト設定)の場合、最適化されアセンブリコードはこのようなコードになりました。
mov eax,4
C++に書き直せば
int main(){
return 4;
}
です。
Visual Studio 2005のrelease版(デフォルト設定:デバッグ情報入り)の場合
ブレークポイントを適当なところではり
メニュー → デバッグウインドウ → 逆アセンブル で見ることが出来ます。
※勿論確実なのは出来たバイナリを確認することです。
ちなみに最適化を無効(/Od)にすると最適化もされずインライン展開もされません。
インライン展開される為には
inline int func(int a){
return a + 2;
}
とする必要があります。
詳細な説明をありがとうございます。
おかげさまで疑問は解決しました。
それにしても、この機能は便利ですね。
まさに今回のように一箇所だけ軽く調べたい時にぴったりな機能だと思いました。
No.4
- 回答日時:
/Faオプションを指定するなどして、アセンブリ言語のソース(またはリスティングファイル)を出力させるのが一番確実でしょうね。
回答ありがとうございます。
アセンブリコードを見たい時は今まではコマンドプロンプトからclかdumpbinコマンドでファイル生成してました。
でも、こっちの方が何倍も楽で良いですね。
今度からいちいちコマンドプロンプトを開かなくて済みそうです、有益な情報ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
【お題】追い込まれた犯人が咄嗟に言った一言とは?
-
C言語での引数の省略方法
C言語・C++・C#
-
初期化の対義語(反対語)はなんですか?
日本語
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#define _CRT_SECURE_NO_WARNIN...
-
数値を入力して1からその数値ま...
-
C言語<素数を求めるプログラム>
-
std::set<int> で、ある値が何...
-
C言語での引数の省略方法
-
比較回数と交換回数表示について
-
C# リストボックスに同じ文字が...
-
PowerShellがうまくいかない
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
acceptをalarmでタイムアウトさ...
-
int16_t の _t は何?
-
ファイルから読みこむ方法
-
アスタリスクでダイヤ型を作る
-
商と剰余を同時に求める(C言語)
-
c言語の配列を使ってサイコロを...
-
C言語 エラーの原因がわからな...
-
read関数をノンブロッキングで...
-
C言語
-
Arduinoのプログラムにエラーが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
ラップ関数とはどんなものですか?
-
ColorをRGBで指定する方法
-
(int *)の意味
-
足して100になるような乱数のア...
-
シェルピンスキーのギャスケット
-
if と配列の組み合わせ
-
実数の整数部,小数部の取得
-
構造体の勉強中です 合計点の高...
-
「{ } で囲むだけ」は正しい?
-
c言語の配列を使ってサイコロを...
-
式は定数値が必要です」という...
-
acceptをalarmでタイムアウトさ...
-
read関数をノンブロッキングで...
-
std::set<int> で、ある値が何...
おすすめ情報