我有一个Fortran程序,我可以在我拥有的所有三个操作系统上使用f77,f95或ifort进行编译(它们是i386,ia64和x86_64系统)。但是,我希望能够只编译两种类型的可执行文件,这样我就可以共享程序而不是代码。当我在其中一台计算机上编译并尝试在另一台计算机上运行已编译的二进制文件时,我收到错误消息cannot execute binary file
。有谁知道我该怎么办?
答案 0 :(得分:4)
如果您希望机器本机运行它们,则无法执行此操作。你有三种不同的架构,所以你需要三种不同的二进制文件。
然而,x86_64(通常称为amd64)确实能够运行i386代码,但性能略有下降。所以,如果你愿意放弃64位,你理论上可以放弃amd64二进制文件,只需在该机器上使用i386。您需要在机器上安装i386仿真环境才能使其正常工作。
ia64可能支持类似的东西;我不知道ia64。