Sun Studio 12:C 用户指南

B.2.46 -mt

编译和链接多线程代码。

该选项将 -D_REENTRANT 传递给预处理程序,并将 -lthread 以正确的顺序传递给 ld

如果应用程序或库是多线程的,则必须使用 -mt 选项。

为了确保正确的库链接顺序,必须使用该选项而不是 -lthread 来与 libthread 链接。

如果正在使用 POSIX 线程,则必须使用选项 -mt -lpthread 进行链接。由于在多线程应用程序环境中 libClibCrun 需要使用 libthread,因此必须使用 -mt 选项。

如果在不同的步骤中进行编译和链接,并且使用 -mt 进行编译,则可能出现意外结果。如果使用 -mt 编译一个转换单元,请使用 -mt 编译程序的所有单元。

另请参见B.2.113 -xnolib