/CLRTHREADATTRIBUTE(设置 CLR 线程特性)

显式指定用于 CLR 程序入口点的线程特性。

语法

/CLRTHREADATTRIBUTE:{STA|MTA|NONE}

参数

MTA
将 MTAThreadAttribute 属性应用于程序的入口点。

NONE
等同于不指定 /CLRTHREADATTRIBUTE。 允许公共语言运行时 (CLR) 设置默认线程特性。

STA
将 STAThreadAttribute 属性应用于程序的入口点。

备注

仅当生成 .exe 时设置线程属性才有效,因为这会影响主线程的入口点。

如果使用默认入口点(例如 main 或 wmain),则可以通过使用 /CLRTHREADATTRIBUTE 或将线程属性(STAThreadAttribute 或 MTAThreadAttribute)放在默认入口函数上来指定线程模型。

如果你使用非默认入口点,请使用 /CLRTHREADATTRIBUTE 或通过将线程属性放置在非默认入口函数上来指定线程模型,然后使用 /ENTRY 指定非默认入口点。

如果源代码中指定的线程模型与 /CLRTHREADATTRIBUTE 指定的线程模型不一致,链接器将忽略 /CLRTHREADATTRIBUTE 并应用源代码中指定的线程模型。

例如,如果你的 CLR 程序托管一个使用单线程的 COM 对象,则必须使用单线程。 如果 CLR 程序使用多线程,则它不能承载使用单线程的 COM 对象。

在 Visual Studio 开发环境中设置此链接器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“链接器”>“高级”属性页

  3. 修改“CLR 线程属性”属性。

以编程方式设置此链接器选项

  1. 请参阅 CLRThreadAttribute

另请参阅

MSVC 链接器参考
MSVC 链接器选项