【发布时间】:2015-09-27 15:43:17
【问题描述】:
我编写了一个 C 程序并使用 someProgram.c 保存它并在我的 64 位机器上编译它。生成了“someProgram.out”文件。我将 someProgram.out 发送给了一位朋友,但它没有在他的机器上执行。当他尝试在安装在他的虚拟机中的 ubuntu 14.04 上运行它时,它会报告“无法执行二进制文件”错误。 我如何编写代码,使其在具有不同架构的机器上以及虚拟机上运行,而无需在所有机器上编译,即仅在我的机器上编译之后?
【问题讨论】:
-
如果你使用交叉编译器,你可以为不同的目标编译你的程序,但这仍然需要为每个目标编译它。
-
你必须为架构使用模拟器或 C 解释器,它也涵盖了使用的库函数。
-
编译为 32 位并安装 i386 包。 askubuntu.com/questions/454253/…
-
对该问题的反对票正在制造麻烦。堆栈溢出说我的问题没有得到社区的良好回应。所以他们已经阻止了我5天。让我知道如何删除问题或任何替代解决方案。我是社区的新手。