|
Сравнение указателей может дать неожиданный результат
|
|
| DarkDemon | Дата: Среда, 22.04.2026, 08:42 | Сообщение # 31 |
|
Генерал-майор
Группа: Друзья
Сообщений: 328
Статус: Offline
| Цитата zamabuvaraeu (  ) В том коде мы проецируем две виртуальные страницы памяти на одну физическую. В итоге имеем два разных указателя, которые ссылаются на одну и ту же память. Такое часто используется для кольцевого буфера. Ну так это не "баг", который мы обсуждали, а легальный инструмент операционной системы.
Кстати сам не стал бы использовать ничего подобного для организации кольцевого буфера, технически это круто, а вот с точки зрения "не заплутать потом через пяток лет самому" - не очень. Но с другой стороны если нужен прям RT и прога не имеет фиксированного прерывания на обсчёт буфера - тогда лучше решения нет, обычно звуковые проги(где чаще всего применяется кольцевой буфер) всё таки имеют прерывание на обсчёт, однако тут нет какой-то единой стратегии, не редка страта добавить поверх ещё аккумуляционный кольцевой буфер(это полезно когда буфер записи не равен буферу воспроизведения). К слову, временная буферная арифметика по праву считается одной из самых сложных задач, обдумывание таких штук хорошо так взрывает мозг.
|
| |
|
|
| zamabuvaraeu | Дата: Среда, 22.04.2026, 09:34 | Сообщение # 32 |
|
Полковник
Группа: Друзья
Сообщений: 210
Статус: Offline
| Я про то, что даже когда указатели не равны — это не гарантирует что они ссылаются на разную память.
|
| |
|
|
| DarkDemon | Дата: Среда, 22.04.2026, 10:53 | Сообщение # 33 |
|
Генерал-майор
Группа: Друзья
Сообщений: 328
Статус: Offline
| Цитата Я про то, что даже когда указатели не равны — это не гарантирует что они ссылаются на разную память. Ну так мы же понимаем что прицельно организовать в проге маппинг и когда компиль делает лажу - это разные вещи.
Можно конечно порассуждать о том, что мол вот использовал чужую библу, не знал как там всё устроено и там оказалось так. Ну так это проблема программиста, кто использует чужой труд максимально игнорируя нюансы.
Как бы при условии что всё пишется самостоятельно и прогер достаточно проворен чтобы использовать указатели, сценарий более менее понятен. Т.е. мало вероятно спутать откровенную лажу(баг 1 пост) и собственный маппинг.
Было бы вероятно кстати, если бы этой темы не было(но она бы рано или поздно появилась именно в виде бага).
|
| |
|
|
| zamabuvaraeu | Дата: Суббота, 02.05.2026, 19:48 | Сообщение # 34 |
|
Полковник
Группа: Друзья
Сообщений: 210
Статус: Offline
| Хороший текст про указатели https://habr.com/ru/companies/piter/articles/890900/
|
| |
|
|
| DarkDemon | Дата: Суббота, 02.05.2026, 22:24 | Сообщение # 35 |
|
Генерал-майор
Группа: Друзья
Сообщений: 328
Статус: Offline
| Чем дальше в лес тем больше дров. Всё это говно надо показывать тем, кто пишет компиль и потом меняют транслятор, чтобы они понимали куда вляпались. А я себя этим грузить не хочу, это реально сумасшествие с этими стандартами. Оно конечно и нас касается, но лично мне пофиг, если что у меня есть ASM, сделаю вставкой, пущай боятся те, у кого его нет...
|
| |
|
|