カスタマーサポートセンター

FAQ~よくある質問~ | FAQマスタ詳細表示

FAQ詳細情報

ID 10811017
FAQカテゴリ(大) リンカ
最終更新日 2016-11-17

質問内容

組み込み関数がマップファイルに表示されません

回答内容

組み込み関数 (ヘルプメニュー > C/C++開発ガイド > パート2. リファレンス情報 > 組込み関数)は、コンパイラが直接インラインでコード生成される特殊な関数ですので、別のオブジェクトファイルにある関数を呼びだす形にはなりません。またその定義も他のオブジェクトファイルには含まれず。mapファイルにも表示されません。

 

具体的には、下記のようなコード生成になりますので、確認が必要な時は、コンパイルリストを調べてください。

//    5   __set_SP (0x12345678);  // 組込み関数の呼び出し

        LDR.N    R0,??main_0      ;; 0x12345678
        MOV      SP,R0

         :

        DATA

??main_0:

        DC32     0x12345678

 

コンパイルリストファイルは、

プロジェクトメニュー > オプション > C/C++コンパイラ > リストタブ >

□リストファイルの出力、
□アセンブラニーモニック

にチェックを入れて

コンパイルすることで出力することができます。

参考資料URL