Применяется ли __attribute__((optimize(0))) «рекурсивно»?C++

Программы на C++. Форум разработчиков
Anonymous
Применяется ли __attribute__((optimize(0))) «рекурсивно»?

Сообщение Anonymous »

Скажем, я хочу использовать функцию для измерения времени выполнения, я хочу, чтобы компилятор не оптимизировал выражения только потому, что он думает, что они ничего не делают (это не так, за исключением того, что я хочу измерить, сколько времени они занимают для вычислений). Вместо того, чтобы делать странные трюки, такие как добавление его в другую переменную и т. д., я узнал о __atribute__((optimize(0))) в GCC. Однако, скажем, у меня есть этот код:

Код: Выделить всё

__attribute__((optimize(0))) void test(int n) {
while (n--) {
foo();
}
}

int main() {
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/52505499/does-attribute-optimize0-apply-recursively[/url]

Вернуться в «C++»