繁体   English   中英

_CRTNOALIAS做了什么

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM