2012-01-14 4 views
2

可能性の重複:静的にリンクする必要があるプログラムが使用するライブラリーの
32ビットと64ビットのコードを混在させることはできますか?

Linking 32-bit library to 64-bit program

一つは、32ビットです。 64ビットコンパイラでコンパイルした場合は、変数の型の長さが異なるため(ほとんどの場合、長さが2倍長くなります)、ブレークします。ライブラリのソースコードが提供されています。 プログラム自体は32ビットと64ビットで動作します。 ライブラリを32ビットとしてコンパイルし、それを静的に64ビットアプリケーションにリンクすることはできますか?

答えて

5

基本的には、x86ではなく、32ビットと64ビットのコードを静的にまたは動的にリンクすることはできません。

あなたは何ですか doは別のプロセスで実行され、RPCを使用してライブラリをコードにリンクするラッパーを作成します。 LinuxのnspluginwrapperはFlashのようなものです。

3

不可能です。 64ビットコードから任意の32ビットのlibを呼び出すことはできません。それらを別のアドレス空間に配置する必要があります。

これを利用する1つの方法は、プロセス間通信(パイプ、ソケットなど)を使用することです。

関連する問題