2016-11-08 1 views
1

32ビットARM-7 Winbond CPUとuClinux OSで構成される組み込みデバイスがあります。私はWindows 7の64ビットマシンを持っています。私はプログラムをコンパイルし、ftpサーバを通してアップロードするためのUbuntu用のVirtual Boxをインストールしました。組み込みデバイスのファイルがtelnetサーバーから実行されています。デバイスには独自のvdiファイルがありますが、バーチャルボックスにイメージを開くことができないため、仮想ボックスにUbuntuをインストールします。telnetから組み込みデバイスでファイルを実行しているときに実行形式エラーが発生しました

問題は、次のとおりです。

  1. 私はプログラムをコンパイルし、そのプログラムを実行し、「Execのフォーマットエラー」を示していないのtelnetからファイルを実行中に、FTPを介してデバイスにアップロード

    。 私は実行ファイルをデバッグしました。 "スタックスマッシングが検出されました。"と表示されます。 これを解決するには?

  2. 仮想マシンのサーバからWindowsのサンプルコードをUbuntuにコピーし、ftpを介してデバイスにプログラムをロードすると実行されません。そして、私はWindows 7でやったのと同じように、私はプログラムが実行されているWindowsのFTP経由でデバイスにサンプルコードをアップロードしました。 これはなぜ起こりますか?

+0

?このデバイス用に特別にコンパイルする必要があります。 –

+0

私はUbuntuでVirtual Boxを使ってプログラムをコンパイルしました。 – bp04

答えて

0

異なるアーキテクチャ向けに構築されたプログラムを実行することはできません。 あなたのアプリはx86 64ビットアーキテクチャ向けに構築されており、32ビットARM上で実行しようとしています) 特定のアーキテクチャ向けにプログラムをクロスコンパイルする必要があります。ここで

あなたは、クロスコンパイルについて読むことができます:あなたがこのプログラムをコンパイルする方法

関連する問題