Renesas Synergy™

FAQ 104519 : 関数 (void_far) 型を宣言した場合に4バイトの領域が確保されます。3バイト (0~FFFFFFH) にならないのはなぜですか?

Q: 質問

関数 (void_far) 型を宣言した場合に4バイトの領域が確保されます。3バイト (0~FFFFFFH) にならないのはなぜですか?


A: 回答 

コンパイラの処理上は、関数のアドレスを取る場合4バイトとして扱います。これは、関数のアドレスだけではなく通常の変数のアドレスを取得する場合も同様に4バイトとして扱います。構造体で関数の間接呼び出し宣言をして、PACKした場合も4バイトで扱います。

 

適用製品

M16Cシリーズ,R8Cファミリ用C/C++コンパイラパッケージ [M3T-NC30WA]
他にご質問がございましたら、リクエストを送信してください