/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 开发环境中设置此链接器选项
打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
选择“配置属性”>“链接器”>“高级”属性页。
修改“CLR 线程属性”属性。
以编程方式设置此链接器选项
- 请参阅 CLRThreadAttribute。