Path: ccsf.homeunix.org!ccsf.homeunix.org!news1.wakwak.com!nf1.xephion.ne.jp!onion.ish.org!onodera-news!newsfeed.media.kyoto-u.ac.jp!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!news.belwue.de!irazu.switch.ch!switch.ch!solnet.ch!solnet.ch!nntp.gblx.net!news.k-opti.com!bluegill.lbm.go.jp!toda From: toda@lbm.go.jp Newsgroups: fj.comp.lang.c,fj.comp.oldies Subject: Re: PL/1, Origin of struct Date: Thu, 11 Sep 2003 13:43:06 +0000 (UTC) Organization: Lake Biwa Museum, Shiga Prefecture, Japan Lines: 25 Message-ID: References: <871xve8046.wl@anago2.mas.chi.its.hiroshima-cu.ac.jp> NNTP-Posting-Host: araizeki-dmz1.lbm.go.jp X-Trace: bluegill.lbm.go.jp 1063287786 20065 192.168.254.33 (11 Sep 2003 13:43:06 GMT) X-Complaints-To: usenet@bluegill.lbm.go.jp NNTP-Posting-Date: Thu, 11 Sep 2003 13:43:06 +0000 (UTC) X-Newsreader: mnews [version 1.22] 1999-12/19(Sun) Xref: ccsf.homeunix.org fj.comp.lang.c:609 fj.comp.oldies:191 In article saitoh@ist.osaka-u.ac.jp writes: >> ちょっと気になったのが、 >> C言語の「charとshort intとlong int」に相当する区別が無いこと、 >> つまり如何なるデータも同一量の記憶域を占有するということです。 >> この仕様ってCPUを選んでしまうんじゃないでしょうか? >PDP-11などでは困りますが。 >多くのメインフレームのようなワードマシンでは困らなかったの >だとおもいます。 Dennis M. Ritchie, The Development of the C Language, http://www.cs.bell-labs.com/who/dmr/chist.html では、 C言語で型の概念を再導入した3つの動機のうち2つが、 この問題に関連するものだと述べていますね。 (残りの1つは浮動小数点関連) バイト境界で文字が並んだ文字列を取扱う際、 機械語のバイトアドレッシングを直接使えば素直に取扱えるのに、 わざわざワード境界にunpackして取扱うという 馬鹿げた作業が必要になるというのが1つ、 プログラム上ではアドレスをワード単位で取扱い、 それをポインタとして用いる段階で 逐一バイト単位に換算せねばならないというのが1つです。 戸田 孝@滋賀県立琵琶湖博物館 toda@lbm.go.jp