Size: a a a

Rust — русскоговорящее сообщество

2021 June 19

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
Это заблуждение, кстати
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
И это
источник

goldstein опять in Rust — русскоговорящее сообщество
я писал на C и писал на ассемблере, кому ты это рассказываешь
источник

goldstein опять in Rust — русскоговорящее сообщество
разница — чиселки по регистрам сами раскладываются
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
Ну такое. Даже если ты не заблуждаешься, то лукавишь, говоря так. Все-таки машина, которую моделирует С довольно радикально отличается от целевой машины в большинстве современных случаев.
источник

goldstein опять in Rust — русскоговорящее сообщество
это иллюзия
настоящие компиляторы не заморачиваются моделированием той машины, которую должны моделировать
источник

goldstein опять in Rust — русскоговорящее сообщество
я ещё не видел ни одного настоящего компилятора, который знал бы, что NULL pointer и zero pointer это разные вещи
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
Все эти разговоры о UB как раз оттого, что все-таки моделируют.
источник

goldstein опять in Rust — русскоговорящее сообщество
что-то моделируют, но полагаться на то, что компилятор работает так, как написано в стандарте нельзя
источник

goldstein опять in Rust — русскоговорящее сообщество
полагаться на то, что компилятор работает не так, как написано в стандарте, тоже нельзя
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
Если компилятор ведет себя не по спецификации это баг
источник

goldstein опять in Rust — русскоговорящее сообщество
да но нет
источник

goldstein опять in Rust — русскоговорящее сообщество
нет ни одного компилятора, который ведёт себя по спецификации хотя бы отдалённо
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
Эммм Кланг и Гцц вроде стараются.
источник

goldstein опять in Rust — русскоговорящее сообщество
например, потому, что это невозможно
виртуальная машина C требует отслеживать на каждом поинтере, является он NULL или нет
источник

goldstein опять in Rust — русскоговорящее сообщество
реальные компиляторы всегда в == NULL выводят сравнение с нулём
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
Вроде ж нет. Нулл по стандарту статически извесное значение
источник

goldstein опять in Rust — русскоговорящее сообщество
Нет.
источник

goldstein опять in Rust — русскоговорящее сообщество
NULL по стандарту это константный 0, приведённый к типу pointer. Битовое значение NULL не определено.
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообщество
Просто необязательно зеро, нет? Я заинтригован.
источник