【发布时间】:2020-07-11 17:51:12
【问题描述】:
我知道 C++11 风格的属性支持以命名空间为前缀的供应商特定属性。 GCC 和 Clang 都支持前缀为 gnu::(gcc 和 clang)或 clang::(仅限 clang)的各种属性,它们对应于等效的 __attribute__((...)) 语法。
documentation for MSVC attributes 表明它支持标准属性以及gsl:: 属性——但它没有提及__declspec 属性的向后兼容性。
我希望像 __declspec(noinline) 这样的东西有 [[msvc::noinline]] 的属性表示——但我似乎找不到任何关于此的文档。
所以我的问题是,MSVC 是否支持 __declspec 作为 C++11 风格的属性?
如果没有,会有人碰巧知道他们不知道吗?
C++ 属性的原始rationale 是对各种编译器特定的__attribute__ 和__declspec 特性进行抽象,所以如果在标准化9 年后仍然不支持它会很奇怪。
【问题讨论】:
标签: c++ visual-c++