Я нашел флаг _CRTNOALIAS в определении функции C++ в среде Windows. не знаю, что он делает. Любой там, чтобы помочьЧто делает _CRTNOALIAS do
void _CRTNOALIAS foo()
{
}
Я нашел флаг _CRTNOALIAS в определении функции C++ в среде Windows. не знаю, что он делает. Любой там, чтобы помочьЧто делает _CRTNOALIAS do
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 documentation.
никогда не видел этого раньше! Интересно! –