Я прочитал документацию GCC и человека.Если я скомпилирую код как (1) gcc -o test test.c, я получу некоторые результаты при его выполнении.Если я скомпилирую его как (2) gcc -O -o test test.c, я получу разные результаты при его запуске.
Читая пользователя GCC, я скомпилирую, используя (вместо -O) все параметры, которыемужчина говорит, что опция -О активна.Я не получаю тот же результат, что и в варианте (2).Результатом является предложение (1).Что (и не документировано) изменяет поведение сгенерированной программы?Тестовый код:
#include <stdio.h>
int var1 = 0;
int var2 = 0;
int main() {
int *pntr = &var2;
pntr--;
(*pntr) = 99;
printf("Var1=%d\n",var1);
printf("Var2=%d\n",var2);
}