Size: a a a

2021 February 17

IY

Ivan Yatskiv in supapro.cxx
Какой выбрать компилятор для Си?
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Ivan Yatskiv
Какой выбрать компилятор для Си?
Ос, платформа?
источник

IY

Ivan Yatskiv in supapro.cxx
Винда
источник

AN

Alexander N in supapro.cxx
Artöm Bakri Al-Sarmini
Только если a volatile
Хм? volatile же запрещает оптимизацию кода вокруг насколько я помню только. Или имеется в виду, что оптимизатор заоптимизирует иначе выкинув код
источник

IZ

Ilia Zviagin in supapro.cxx
Ivan Yatskiv
Какой выбрать компилятор для Си?
Любой современный, лучше дефолтный твоей платформы.
Винда — MSVC
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Ivan Yatskiv
Винда
Возьми тупо msvc
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Alexander N
Хм? volatile же запрещает оптимизацию кода вокруг насколько я помню только. Или имеется в виду, что оптимизатор заоптимизирует иначе выкинув код
Это следствие. volatile сохраняет чтение/запись
источник

AM

Alex Menzfolder in supapro.cxx
Ivan Yatskiv
Какой выбрать компилятор для Си?
gcc
источник

IZ

Ilia Zviagin in supapro.cxx
Alex Menzfolder
gcc
Не, не надо
источник

AM

Alex Menzfolder in supapro.cxx
А что так? У него же си
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Alexander N
Хм? volatile же запрещает оптимизацию кода вокруг насколько я помню только. Или имеется в виду, что оптимизатор заоптимизирует иначе выкинув код
И это не совсем правильная формулировка, ибо в

extern int* ptr;
extern volatile int vi;

*ptr = vi;
*ptr = vi;


Будет ровно 2 чтения vi, но запись в *ptr может быть одна
источник

AM

Alex Menzfolder in supapro.cxx
Стандартный компиль же
источник

IZ

Ilia Zviagin in supapro.cxx
Alex Menzfolder
А что так? У него же си
На винде GCC не вдруг поставишь
источник

IY

Ivan Yatskiv in supapro.cxx
Вижуал студио?
источник

IY

Ivan Yatskiv in supapro.cxx
Я вижу везде ток с++
источник

IZ

Ilia Zviagin in supapro.cxx
Ivan Yatskiv
Вижуал студио?
Да
источник

IY

Ivan Yatskiv in supapro.cxx
Оно пойдет?
источник

AM

Alex Menzfolder in supapro.cxx
Ilia Zviagin
На винде GCC не вдруг поставишь
msys + gcc
источник

AN

Alexander N in supapro.cxx
Artöm Bakri Al-Sarmini
И это не совсем правильная формулировка, ибо в

extern int* ptr;
extern volatile int vi;

*ptr = vi;
*ptr = vi;


Будет ровно 2 чтения vi, но запись в *ptr может быть одна
А как тогда правильно? Просто я вообще почти никогда не видел применения его.
источник

IZ

Ilia Zviagin in supapro.cxx
Ivan Yatskiv
Оно пойдет?
Да, угомонись уже.
источник