- 410 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 01:59:57 ID:8GJ96Xyv]
- C#の場合は、AnyCPUでコンパイルしていれば32bit OSでも64Bit OSでも動くとマイクロソフト公式に
書いてるね。 そもそも.Netって直接マシン語生成ではなくて、CLR上で動くための中間コードを吐いているはずだから 32/64Bitは関係ない。 それでいて、64bit上で動かないのは32bit特有の部分があるということ。 マイクロソフト公式では ・プラットフォームによってメンバのサイズが変わる構造体 (ポインタ型など) ・定数のサイズを含むポインタ演算 ・ハンドルに IntPtr ではなく Int32 を使用した不適切なプラットフォーム呼び出しまたは COM 宣言 ・IntPtr から Int32 へのキャスト を理由に挙げている。 C#ではポインタは普通使わないが、DirectX関係のDLLはC++になっているから、多分この部分が問題あるのだと思う。 ちなみにDLLはexeと同じCLR上に読み込まれる、つまり64bitの場合は64bit CLR上でDLLを動かすわけだから、32bit 特有の書き方をしているDLLは駄目ということでしょう。 ダイアグラム作成ソフトはあるよ homepage2.nifty.com/take-okm/oudia/
|

|