[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:7362] Re: 整数のビット数
- X-ml-count: 7374
- Subject: Re: [MD:7362] Re: 整数のビット数
- From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx>
- Date: Fri, 14 Jul 2006 19:30:34 +0900 (JST)
- X-mailer: Mew version 4.2.53 on Emacs 22.0.50 / Mule 5.0 (SAKAKI) / Meadow-3.00-dev (KIKU)
From: M.Fujii <boochang@xxxxxxxxxxxx> さん曰く
Subject: Re: [MD:7362] Re: 整数のビット数
Message-ID: <20060714.185952.01366683.boochang@xxxxxxxxxxxx>
Date: Fri, 14 Jul 2006 18:59:52 +0900 (JST)
> > ということは、cygwin で実績があるから portable dumper とかは大丈
> > 夫ということですな。じゃ、今のうちに
>
> Cygwin 版と MSVC 版では Lisp_Object の内部構造が全く異なるので、Cygwin
> 版での動作実績は全く参考にならないと考えてください。
はい、わかりました。(というか知りませんでした ^^;)
> また、Cygwin 版で整数のビット幅を 29bit にするためには portable dumper
> 周りもかなり手を入れています。(整数のビット幅を 29bit にするためにやっ
> た訳ではありませんが...)
>
> 済みませんが、以下の変更は MSVC の時だけ有効になるようにしていただけな
> いでしょうか?お願いします。
#ifndef VALBITS
#if defined (MEADOW) || defined (_MSC_VER)
#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
#else
#define VALBITS (BITS_PER_EMACS_INT - (GCTYPEBITS + 1))
#endif
#endif /* no VALBITS */
#ifndef ARRAY_MARK_FLAG
#if defined (MEADOW) || defined (_MSC_VER)
#define ARRAY_MARK_FLAG ((EMACS_INT) ((EMACS_UINT) 1 << (VALBITS + GCTYPEBITS - 1)))
#else
#define ARRAY_MARK_FLAG ((EMACS_INT) ((EMACS_UINT) 1 << (VALBITS + GCTYPEBITS - 2)))
#endif
#endif /* no ARRAY_MARK_FLAG */
な風にしておきます。
;; VC++ の判定方法が正しくなかったら指摘してね。
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)