namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: namazu-112-proto-8.tar.gz



松村です。

From: Hajime BABA <baba@xxxxxxxxxxxxxxxxxxxxxx>
Subject: [namazu:00430] Re: namazu-112-proto-8.tar.gz
Date: Fri, 27 Mar 1998 21:22:08 +0900
Message-ID: <19980327212852M.baba@xxxxxxxxxxxxxxxxxxxxxx>

>  Date: Fri, 27 Mar 1998 20:54:39 JST
>  From: Hajime BABA <baba@xxxxxxxxxxxxxxxxxxxxxx>
>  Subject: [namazu:00429] Re: namazu-112-proto-8.tar.gz
> 
>  >  > # DEC純正のコンパイラじゃないと 64bit のコードが出力されないとかそ
>  >  > # ういうことかな? よく分からないです。
>  > その可能性はあるかもしれないです。gcc にもオプションをつければどー
>  > のこうのと言っていたような気がします。が、僕はあまり詳しくないので
>  > 良くわかんないです。

UltraSPARC って 64bit だったみたいですね。^^;
で、Sun Ultra 2/Solaris 2.5.1 上で、一連のことを調べてみました。

perl -e 'print length(pack("i",1));'
を実行すると 4

> baba@gion/home/gion/baba[17]% cat a.c 
> #include <stdio.h>
> 
> void main(void)
> {
>     int i=0;
>     long l=0;
>     printf("sizeof(int)=%d\n", sizeof(i));
>     printf("sizeof(long)=%d\n", sizeof(l));
> }

を実行すると

[clio]/home/mmatsu% ./a.out 
sizeof(int)=4
sizeof(long)=4

になりました。

long が 4 になるのは、他とのバイナリ互換性のため、
コンパイル時の configure がそう設定しているのかなと思い、
gcc.2.8.1 を見ると gcc.2.8.1/config/sparc/で

#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
#define HOST_BITS_PER_INT 32
#define HOST_BITS_PER_LONG 32
#define HOST_BITS_PER_LONGLONG 64

と定義されているようですね。

また、gcc.2.8.1/config でその他のものも見てみるために、
grep HOST_BITS_PER_INT */* 
としたのですが、 64 と定義されているものは見当たりませんでした。

by mmatsu