Oracle® Solaris Studio 12.4:Fortran 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

3.4.60 -mt[={yes|no}]

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

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

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

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

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

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

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

选项 -mt 等效于 -mt=yes