[英]What does _CRTNOALIAS do
我在Windows环境中的C ++函数定义中找到了_CRTNOALIAS标志。 不知道它做了什么。 有人帮忙
void _CRTNOALIAS foo()
{
}
这(可能)定义为
#define _CRTNOALIAS __declspec(noalias)
这将注释函数为noalias
。
noalias
注释是一个帮助优化器的指令。 它指示编译器函数本身不引用全局状态,而只引用指针参数的第一级间接 。
考虑以下:
int *global_bar;
void __declspec(noalias) foo (int *f) {
int i = *f; // you can do this
int i = f[0]; // and this
*global_bar = *f; // YOU CAN'T DO THIS!
}
有关更多信息,请参阅MSDN文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.