170 похожих чатов

Правильно ли я понял про классификатор volatile? что он просто

говорит компилятору что данную переменную не надо оптимизировать, то есть если дальше данная переменная ни где не изменяется, то читать ее надо каждый раз (если не стоит volatile то компилятор считывает из памяти переменную один раз). И данный классификатор безопасно использовать только в случае если присвоение в переменную проходит в один такт процессора, то есть ее можно применять безопасно в многопоточности только с типом char?

1 ответов

8 просмотров

это распространенная ошибка по поводу "не надо оптимизировать" на самом деле он говорит не оптимизировать ЧТЕНИЕ и делать его явно каждый раз. например в кеше переменая есть, но вне кеша ее поменяли или в цикле компилятор видит, что она не меняется и выкидывает операцию чтения. как пример оптимизации при использовании volatile volatile char a =3; char b =4; cout « b; тут переменная a будет выкинута, это пример оптимизации, даже не смотря на то что был volatile

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта