Size: a a a

2019 January 29

T

Thorn in ELECTRONIX
Dolphin Soft
1 не избавит от 2
да не избавит, конечно. это избавит от излишних оптимизаций (в крайнем случае этот инкремент вообще может быть выкинут компилятором)
источник

A

Aleksander in ELECTRONIX
Глобальную переменую не должен
источник

DS

Dolphin Soft in ELECTRONIX
можно регистр объявить, но для GCC - deprecated
источник

GK

Grigorii Kuzmin in ELECTRONIX
Aleksander
Глобальную переменую не должен
Кто сказал?
источник

DS

Dolphin Soft in ELECTRONIX
Alexey Esaulenko
пояснить что именно? что глобальная переменная магическим образом хранится в регистре? или вообще отсутствие ответа на изначальный вопрос, что будет считано из этого счётчика?
Это, кстати - тоже не так
источник

A

Aleksander in ELECTRONIX
Grigorii Kuzmin
Кто сказал?
нe если конечно не сделать сразу после инкремента обнуление, тогда да, компилятрор выкинет "лишнюю" инструкцию
источник

S

Sergey in ELECTRONIX
Vovan Sidorovich
а зачем там 2CF6? GCC штоль?
Камень Nuvoton Cortex-M4, компилятор из комплекта Keil. С ARMами я совмем мало знаком.
источник

u

username in ELECTRONIX
Aleksander
нe если конечно не сделать сразу после инкремента обнуление, тогда да, компилятрор выкинет "лишнюю" инструкцию
Может листинг посмотрим наконец то?
источник

A

Aleksander in ELECTRONIX
какой листинг? вышеприведнный не отражает той гипотетической задачи, где компилятор удаляет "лишнюю" инструкцию
источник

u

username in ELECTRONIX
Aleksander
какой листинг? вышеприведнный не отражает той гипотетической задачи, где компилятор удаляет "лишнюю" инструкцию
Ассемблерный, бро. Ассемблерный листинг все отражает. Листинг давайте.
источник

A

Aleksander in ELECTRONIX
у меня нет под рукой пкомпилятора, я рассуждаю "на пальцах"
источник

A

Aleksander in ELECTRONIX
автор вопроса @Sergey82K . но он похоже разобрался уже
источник

u

username in ELECTRONIX
Aleksander
у меня нет под рукой пкомпилятора, я рассуждаю "на пальцах"
Ну то есть ты придумываешь. aka с точки зрения разработчика компилятора это должно быть так
источник

A

Aleksander in ELECTRONIX
нет, я часто встречал что компилятор оптимизирует код
источник

u

username in ELECTRONIX
Aleksander
нет, я часто встречал что компилятор оптимизирует код
Я тоже, -O1 -O2- O3- Os
источник

A

Aleksander in ELECTRONIX
global_msec++;
global_msec=0;
в такой последовательнсоти инкремент не будет исполняться, если нет ключевого слова volatile
источник

A

Aleksander in ELECTRONIX
еще как вариант отключить оптимизацию
источник

u

username in ELECTRONIX
Aleksander
global_msec++;
global_msec=0;
в такой последовательнсоти инкремент не будет исполняться, если нет ключевого слова volatile
Приведи пример
источник

A

Aleksander in ELECTRONIX
так вот же пример
источник

u

username in ELECTRONIX
Aleksander
так вот же пример
Код и компилятор и ассемблерный листинг
источник