In article <421E3DE1.B95AAA99@ht.sakura.ne.jp>,
 IIJIMA Hiromitsu <delmonta@ht.sakura.ne.jp> writes:
> いいじまです。
> 
> > > 想定されているアライン境界でしかメモリアクセスを許さない
> > > アーキテクチャでは致命的な問題につながる可能性もありそうです。
> > 
> > PS2 (Linux)が、そういうアーキテクチャだったりします。なんだ
> > けど、これがcastしまくりなライブラリがついていたりするんです。
> > もう、楽しくってしょうがないです。
> 
> PS2にかぎらず、無印68000、PowerPC、SPARCあたりもアーキテクチャとしては
> 同様ですね。
> 
> サンプルコード
> 
> #include<stdio.h>
> 
> union hoge
> {
>    char c[5];
>    long L;
> } a = {1,2,3,4,5};
> 
> int main()
> {
>    printf("%8lX\n",*(long*)&a.c[1]);
> }
> 
> Mac や SPARC では Segmentation fault になります。
> x86 は黙って 05040302 という結果を出します。

x86でも8088以外なら、「ちょっと黙って」結果を出しているわけですね。

一応ペナルティがありますんで。
-- 
   ___     わしは、山吹色のかすてーらが大好きでのぅ
 [[o o]]            ふぉっふぉっふぉ
   'J'     森下 お代官様 MaNMOS 英夫@ステラクラフト
PGP Finger = CD EA D5 A8 AD B2 FE 7D  02 74 87 52 7C B7 39 37