2016-10-11 12 views
0

私のプログラムの32ビットバージョンをビルドする必要があります(64ビットをビルドするオプションはありません)。しかし、特定のlib(nvidia提供のgles) 64ビットです。 32ビットプログラムと64ビットlibをリンクする方法があるのだろうかと思います。 または、単に64ビットのlibを使ってもかまいません。 64ビットのカーネルとユーザースペースを持つnvidia tx1です(後者は32ビットであったが、これ以上は使用しませんでした)。ubuntu 16.04を実行しています。私はarm-linux-gnueabihf-g ++を使用しています。ubuntuの32ビットアプリケーションをビルドし、64ビットのlibを使って実行する

ありがとうございます。

答えて

0

いいえ、それは単に動作しません。 遠くにはがあまりにも多くの問題を抱えています。

カーネルがプログラムを信頼しないため、64ビットカーネルは32ビットプログラムで動作します。すべての議論は慎重にチェックされマーシャルされ、小規模かつ固定されたインターフェースで機能します。

しかし、コンパイラはライブラリの正確なAPIを決定する有効な方法を持っていません。そのchar*は入力引数、出力、またはその両方ですか?あなたは32/64マーシャリングを行うために知る必要があります。 (ここでは効率を無視しています)

関連する問題