The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз ядра Linux 5.11"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Релиз ядра Linux 5.11" –1 +/
Сообщение от Аноним (212), 18-Фев-21, 14:09 
> Пошли отмазки в лучших традициях Великих Гуру. Правда опять мимо темы. Для
> Великих Гуру, еще раз - NULL указатель != физ. адрес 0.

Таки если я его явно задефайнил как таковой - он именно это. А то что он в общем случае не обязан быть таким я в курсе и без ваших соплей.

> Разименовывание null-pointer "undefined behaviour" по стандарту, без исключений даже
> для Великих.

Если где-то нет исключений, так и быть, я их позову, мне не сложно.

> Казалось бы, причем тут портабельность, если UB про привязку к поведению компилятора,
> причем определенной версии.

В упомянутом случае это вообще совсем никак не привязано к компиляторе - тулчайн шпарит в "naked" режиме, как тупой кодогенератор. Задефайнено только то что задефайнил я. Так как задефайнил я. Девайн NULL тоже мой и указывает на 0.

Это не зависит от версии тулчайна. И от либ не зависит. И от хидеров. Это "freestanding", некий субсет оного. И все с нуля определено. Вот так оно таки "implementation defined" и этот implementation - таки лично мой и по другому его собрать тупо не получится.

>> Когда я это сам задефайнил - это очень даже defined behavior :)
> Сколько пафосы и понтов, при этом "неламо" опять не различает null pointer-ы,
>  и pointer-ы на _адрес_ 0x0,

Таки для тупарей, еще раз.
1) Понятие null pointer в этом случае явно задефайнено лично мное, как указатель на адрес 0.
2) Это сделано специально и имеет физический смысл. При попытке дереференса такой штуки железо немедленно отсыпет Hard Fault, как оказалось. Фирма ARM прям в железе проверку вкатила на это дело. И такой дизайн железа подразумевает что null должен указывать на 0. Иначе фича железа в пролете.

> поняло сути проблемы (хинт: компилятор для сборки тоже сам "задефайнил",

Почти. Он в режиме тупого кодогенератора - не предоставляет вообще ничего, даже стартап лично мой. Поэтому оперирует только тем что я ему подсуну.

> Все равно плохие - UB от этого не становится не-UB)

Таки в этом случае это well defined behavior. Оно при сборке явно дефайнит себе понятие NULL до того как вообще сможет им воспользоваться. И при компиле хоть там чем, если это в принципе способно собрать код, оно кроме всего прочего и это задефайнит, куда оно денется.

Про confirmance уже можно поспорить. Но во первых не с растищками от данона, у которых вообще этого нет нигде и никак :P. Во вторых conformance мелкого бутлоадера заведомо только относительно своей железки. Он на гвозди к ее специфике прибит, от и до.

>> Я на вас пистолет не наставлял, моим кодом пользоваться не требовал.
> Какой занимательный спрыг с темы, с кучей пафоса и понтов ... никто
> "вашими программами" тут пользоваться и не собирался

Вот и славненько. Остальные сишные програмеры тоже от вас ничего не требовали. Имхо, либо скажите спасибо и юзайте, либо отвалите в туман. А хамить совершенно не обязательно. Вы, имхо, денег не платили. А даже если б и платили то вон EULA читайте, там для таких очень понятно обрисовано что и с кого вы стребовать реально можете.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз ядра Linux 5.11, opennews, 15-Фев-21, 11:01  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру