fortran - 如何在 fortran 中更改目标机器配置?

标签 fortran cross-compiling

我在 Linux 上使用英特尔 Fortran 编译器。我知道,如果我输入“ifort -dumpmachine”,它将提供编译的目标机器配置(例如“x86_64-linux-gnu”),但如果我想针对不同的操作进行编译,我需要知道如何更改它系统(例如不同版本的 Linux)。 “-arch”编译器选项允许您更改处理器架构,但我需要知道如何更改操作系统。

最佳答案

交叉编译是高度依赖处理器的东西,因此没有通用的 Fortran 答案。据我所知,Intel Fortran 仅适用于有限数量的架构 - x86 和 x86-64。 Linux、Windows 和 OS X 有单独的产品,您不能在它们之间进行交叉编译。

您没有具体说明不同版本的 Linux 的含义。您应该在您的编译器版本的手册中找到哪个内核版本需要生成的可执行文件。原则上,您可以针对所有此类发行版。正确的 Intel 运行时库和 glibc 以及您使用的其他库也可能存在问题。您可以通过静态链接计算机上的库来解决此问题(仅对 Intel 运行时库使用 -static-static-intel),但请注意,它们具有也与您的目标架构兼容(特别是,如果它们需要高级指令集,如 SSE(2) 或 AVX)。

关于fortran - 如何在 fortran 中更改目标机器配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043566/

相关文章:

fortran - 在 Fortran2003 中,一维假定形状数组可以与 C 互操作吗?

fortran - 将大小作为参数传递 VS 在 Fortran 过程中假定形状

gcc - 如何使用交叉编译器 i686-w64-mingw32-gcc 指定 win32 或 Windows 64 目标

c - 交叉编译busybox失败

algorithm - 反射(reflect)循环迭代器关于迭代次数中点的数学运算

fortran - 有什么方法可以避免 Fortran 90 中的嵌套 do 循环吗?

performance - Fortran的表现

c++ - 多平台IDE

linux - 将 Qt 程序从 Linux 部署到 Windows

boost - 交叉编译 boost 的问题