December 18th, 2020

 NULLTroll

Вчера сломал мозг (и не только себе) вот такой штукой - есть у нас NULL и nullptr в C и C++ соответственно. Это указатель "вникуда", его нельзя разыменовывать, он приводится к целочисленному нулю и радостно вызывает неопределённое поведение компилятора. Стрёмная штука в некоторых случаях.

Так вот вопрос - а как реализована семантика этого счастья на платформах, где нулевой адрес - нормальный и доступный, вот например - MS DOS, где в начале памяти обитает таблица прерываний и почему бы красиво не дампнуть первые 256 байт хексом на экран? Или просто прочитать нулевой байт.

Что там? NULL это нормально? Там NULL это не 0, а что-то другое? Размер указателя больше типового индексного регистра/пары (вот, кстати, подозреваю, что под AVR так, ибо по регистру не понять - он на код указывает или на данные, Гарвард, етить!)?

Кто имеет опыт?

На выходных, если меня не сожрёт ремонт, попробую borland C под DOS в разных моделях памяти.

На выходных

(уже скоро новые, да, я знаю)

Кроме выбора красивых плинтусов с кабельканалами в соседнем городе, нашёл в подвале здания рынка (кажется, такие интерьеры были в постапокалиптических играх - то ли в "You are empty", то ли в "Сталкере), недалеко от рубки мяса и свиных голов магазинчик формата "дедушка и его запасы" и на радостях забыл, чего мне надо.

Купил парочку (жаль, что больше не было) красненьких Itelcond 6800uF 350V - у меня так получилось, что почти готовый "суповой набор" для лампового усилителя с железяками того же цвета. Не то, чтоб я как-то подбирал по цвету - других не было, иначе бы скупил все - но вот так внутри будет красиво; кстати, вот эти - тоже уже в красном, а дроссели перекрашивать буду - синий акрил по оцинковке был зря. Алкидная же краска, что характерно, красная. Технопорно удаётся.

По половому же вопросу - тогда был выбран пробоковый компенсатор (затычка между керамогранитом и паркетом), а вот-вот уже буду эту технологию осваивать. Да, идея о ровном беспороговом пространстве по всей квартире воплощена процентов на 90, самое сложное было собрать пролёт 12 с половиной метров от окна до окна, а теперь можно на машинке-роботе гонять, не налетая на порожки. И машинку можно делать маленькой - теоретические неровности даже колесу в полсантиметра помехой не будут.