namazu-ml(avocado)


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

Re: byte order and bit length problem



こんにちは、國頭です。

        Thu, 26 Feb 1998 04:08:06 +0900 の
        [namazu:00269] byte order and bit length problem 
(Re: はじめまして )
        に関して...........

Satoru> あと、処理はすべて int で行っているのですが、これだと 32bit/64bit 
<中略>
Satoru> だそうなので、もし、32bit に統一したいと思ったらなんだか結構厄介そ

autoconf を使えば、自動的に判別できるようになるような気がす
るのですが、実際に使ったことはないのでわかりません。

/* checkint.c */
printf "/* namazuint : alwayss 32bit !! */\n";
if( sizeof(int) == 4 ) 
	{ printf "typedef int namazuint;\n"; }
else if( sizeof(short) == 4 )
	{ printf "typedef short namazuint;\n"; }
else if( sizeof(long) == 4 )
	{ printf "typedef long namazuint;\n"; } 

のようなプログラムをMakefile 中で
	$(CC) -o checkint checkint.c
	./checkint > namazuint.h
	rm checkint
のようにして、namazu.c の中で namazuint.h を読み込むというの
はどうですか? そうすればnamazu.c の中では常に namazuint 
(もっとかっこいい型のほうがいいかもしれませんが^^;)を使え
ばいいので、#ifdefとか使わなくてすむから楽だと思います。つい
でにバイトオーダーもnamazu.cのコンパイル前に判別することもで
きそうではありませんか?

他にかっこいい方法があると思うので、是非僕も教えていただきた
いです。

---------------------------------------   
kunito@xxxxxxxxxxxxxxxxxxx