Linux 从telnet在嵌入式设备中执行文件时出现Exec格式错误

Linux 从telnet在嵌入式设备中执行文件时出现Exec格式错误,linux,ubuntu,uclinux,Linux,Ubuntu,Uclinux,我有一个嵌入式设备,由32位ARM-7 Winbond CPU和uClinux操作系统组成。我有Windows7 64位机器。我已经为Ubuntu安装了VirtualBox,用于编译程序以及通过ftp服务器上传程序。正在从telnet服务器执行嵌入式设备中的文件。该设备有自己的vdi文件,但无法在虚拟盒中打开映像,因此我在虚拟盒中安装Ubuntu 问题是: 当我编译一个程序并通过ftp上传到设备中时,当从telnet执行文件时,它不会执行该程序并显示“Exec format error”。 因此

我有一个嵌入式设备,由32位ARM-7 Winbond CPU和uClinux操作系统组成。我有Windows7 64位机器。我已经为Ubuntu安装了VirtualBox,用于编译程序以及通过ftp服务器上传程序。正在从telnet服务器执行嵌入式设备中的文件。该设备有自己的vdi文件,但无法在虚拟盒中打开映像,因此我在虚拟盒中安装Ubuntu

问题是:

  • 当我编译一个程序并通过ftp上传到设备中时,当从telnet执行文件时,它不会执行该程序并显示“Exec format error”。 因此,我调试了可执行文件,它显示“检测到堆栈崩溃”。 如何解决这个问题

  • 当我从虚拟机中的服务器将示例代码从windows复制到Ubuntu,并通过ftp将程序加载到设备中时,不会执行。和我在Windows7上做的一样,我通过WindowsFTP将示例代码上传到设备中,程序正在执行。 为什么会发生这种情况


  • 不能运行为不同体系结构构建的程序。 您的应用程序是为x86 64位体系结构构建的,您尝试在32位ARM上运行它) 您必须为给定的体系结构交叉编译程序

    在这里,您可以阅读交叉编译:


    不能运行为不同体系结构构建的程序。 您的应用程序是为x86 64位体系结构构建的,您尝试在32位ARM上运行它) 您必须为给定的体系结构交叉编译程序

    在这里,您可以阅读交叉编译:


    您是如何编译此程序的?你需要为这个设备专门编译它。我在Ubuntu中使用虚拟盒编译了这个程序。你是如何编译这个程序的?你需要为这个设备专门编译它。我用虚拟盒在Ubuntu中编译了这个程序。