Size: a a a

cxx.Дискуссионная

2020 November 13

IG

Ivan Grechka in cxx.Дискуссионная
Вот включил голосовую связь и снова жду, когда он заговорит
источник

IG

Ivan Grechka in cxx.Дискуссионная
Спасибо
источник

MM

M M in cxx.Дискуссионная
Liber Azerate
Во всяком случае я думаю, что говорилось об этом
Вроде да. Спс
источник

ВД

Владислав Денисович... in cxx.Дискуссионная
Здравствуйте, кто нибудь может потестить мою программу для чтения заголовка дампа памяти?
источник

S

Stas in cxx.Дискуссионная
https://t.me/supapro/777848
Собственно по этому поводу вопрос.
Как часто вы видели UB, которое удаляло систему/делало что-то с системой пользователя?
источник

S

Stas in cxx.Дискуссионная
Это уже просто стало интересно. И понял что даже на представление о работе железа нельзя полагаться что UB которое "теоретически" в моём вопросе не должно было повлиять - на деле не будет влиять.
источник

@N

@urandon Nikita Khom... in cxx.Дискуссионная
Stas
https://t.me/supapro/777848
Собственно по этому поводу вопрос.
Как часто вы видели UB, которое удаляло систему/делало что-то с системой пользователя?
Это ещё фигня, а вот когда UB делает что-то с пользователем...
источник

@N

@urandon Nikita Khom... in cxx.Дискуссионная
Stas
Это уже просто стало интересно. И понял что даже на представление о работе железа нельзя полагаться что UB которое "теоретически" в моём вопросе не должно было повлиять - на деле не будет влиять.
почему оно "теоретически" не должно повлиять, если влияет?
источник

S

Stas in cxx.Дискуссионная
@urandon Nikita Khomutov
почему оно "теоретически" не должно повлиять, если влияет?
Исходил из того как работает компьютер(приближённо). Что если прервалась первая операция записи, началась и завершилась вторая, а потом закончилась первая - у нас будут валидные данные, если записывались одинаковые данные бит в бит.
И сломало то, что UB означает что может произойти всё что угодно.
То есть по факту имею race condition и не могу гарантировать какой поток запишет первым(или какая ситуация) - но тут вспоминаю про UB.
И произойти всё что угодно. Хотя всё равно лишь операция записи. Она прервётся и переустановит мне ось?
Вот именно это. Но UB есть UB, окей. Потому что не могу гарантировать что это так просто на самом деле происходит в ОС.
источник

S

Stas in cxx.Дискуссионная
(ответ на сам вопрос под конец)
источник

@N

@urandon Nikita Khom... in cxx.Дискуссионная
гарантии языка — это гарантии языка
гарантии ОС — это гарантии ОС

не надо их смешивать
источник

@N

@urandon Nikita Khom... in cxx.Дискуссионная
Если ОС позволяет через её API из юзерспейса сделать пользователю больно, а язык не даёт гарантий на поведение программы из-за UB, то вот — два нарушения гарантий подряд — и пользователь недоволен
источник

k

kvark in cxx.Дискуссионная
Stas
Исходил из того как работает компьютер(приближённо). Что если прервалась первая операция записи, началась и завершилась вторая, а потом закончилась первая - у нас будут валидные данные, если записывались одинаковые данные бит в бит.
И сломало то, что UB означает что может произойти всё что угодно.
То есть по факту имею race condition и не могу гарантировать какой поток запишет первым(или какая ситуация) - но тут вспоминаю про UB.
И произойти всё что угодно. Хотя всё равно лишь операция записи. Она прервётся и переустановит мне ось?
Вот именно это. Но UB есть UB, окей. Потому что не могу гарантировать что это так просто на самом деле происходит в ОС.
ub это же не "всё что угодно". если у тебя уб, это значит что в этом месте программа не всегда будет вести себя одинакового при разных фазах луны, железа, компиляторе. т.е.  int i;
if (i)
set_bottle_in_your_ass()
источник

k

kvark in cxx.Дискуссионная
такая программа может всадить а может не всадить тебе бутылку в зад. и ты этого наперед не узнаешь
источник

k

kvark in cxx.Дискуссионная
это и есть уб
источник

k

kvark in cxx.Дискуссионная
но такая программа не переустановит тебе ось
источник

VK

Vitaliy ◀️TriΔng3l▶️... in cxx.Дискуссионная
И UB это широкий простор для компилятора для оптимизации
источник

k

kvark in cxx.Дискуссионная
kvark
но такая программа не переустановит тебе ось
но иногда может, если по каким-то причинам уб приведет к вызову соответствующих функций
источник

k

kvark in cxx.Дискуссионная
оч зависит от контекста
источник

k

kvark in cxx.Дискуссионная
и что за уб конкретное
источник