Windows上で64ビットアプリケーションを構築するためにSWIGを使用したいと思います。私はバッファにポインタを持っているクラスを持っています、そして、私は.NETクラスとのインターフェイスにしたいので、ポインタはintptr_t
と宣言されています。SWIGがWindows上でintptr_tに64ビット整数を使用する方法
問題は、標準のSWIG stdint.i
がintptr_t
はint
(32ビット環境の場合)またはlong
(64ビット環境で)のいずれかであると仮定することです。これはUnixでも当てはまりますが、Windowsではfalseです。誰もこれに似た経験やアイデアを持っていますか?
intptr_t
=>IntPtr
の変換に必要なタイプマップを既に設定していますが、32ビット環境で正常に動作していますが、64ビット環境でポインタを切り捨てます。