Oracle Solaris Studio 12.2:Fortran 用户指南

3.4.56 -mt[={ yes|no}]

使用此选项,可以通过 Solaris 线程或 POSIX 线程 API 编译和链接多线程代码。-mt=yes 选项确保按正确的顺序链接库。

此选项将 -D_REENTRANT 传递给预处理程序。

在 Linux 平台上,只有 POSIX 线程 API 可用。(Linux 平台上没有 libthread)。因此,Linux 平台上的 -mt=yes 添加 -lpthread 而不是 -lthread。要在 Linux 平台上使用 POSIX 线程,请使用 -mt 进行编译。

请注意,当使用 -G 进行编译时,-mt=yes 不会自动包括 -lthread-lpthread。生成共享库时,您需要显式列出这些库。

-xopenmp 选项(用于使用 OpenMP 共享内存并行化 API)自动包括 -mt=yes

如果使用 -mt=yes 进行编译并在单独的步骤中进行链接,则除了在编译步骤中外,还必须在链接步骤中使用 -mt=yes 选项。如果使用 -mt=yes 编译和链接一个转换单元,则必须使用 -mt=yes 编译和链接该程序的所有单元。

-mt=yes 是编译器的缺省行为。如果不需要此行为,请使用 -mt=no 进行编译。

选项 -mt 等效于 -mt=yes