4.1.5.2 farアドレスをnearアドレスにキャスト後,さらにfarアドレスに変換する場合

静的変数を以下の方法で初期化した場合,nearポインタへのキャストによる上位2バイトの欠落は発生しません。

 

(4バイト以上へのキャスト)(nearポインタへのキャスト)(farアドレス定数)

 

この指定方法は -strict_std が指定されない場合だけ有効となります。

int     __far x;
static long     l = (long)(int __near*)&x;      //lにはfarアドレスが入る