C++属性提供了一种方便且标准化的方法来标记代码,并提供额外的信息以提供给编译器和/或其他工具.
使用OpenMP涉及#pragma omp...在源中添加许多行(例如标记循环以进行并行处理).这些#pragma线似乎是广义属性等设施的绝佳候选者.
例如,#pragma omp parallel for可能会成为[[omp::parallel(for)]].
通常不准确的cppreference.com 在这里使用这样的属性作为示例,这确认它至少被某人考虑过.
是否存在OpenMP pragma到当前可用并且由任何/所有主要编译器支持的C++属性的映射?如果没有,是否有任何计划正在创建一个?
小智 2
这绝对是一种可能性,甚至是 OpenMP 语言委员会正在考虑的事情。请查看 OpenMP 技术报告 8 ( https://www.openmp.org/wp-content/uploads/openmp-TR8.pdf ) 第 36 页,其中提出了通过属性使用 OpenMP 的语法。包含在 TR8 中并不能保证它包含在 5.1 版本中,但它表明它正在被讨论。此语法很大程度上基于 C++ 属性的原始提案中所做的工作。
如果您对此有具体反馈,我鼓励您通过 OpenMP 论坛 ( http://forum.openmp.org/forum/viewforum.php?f=26 )提供反馈。