14446
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
В смысле скопировали? А что мешает реализовать такую же структуру данных с таким же принципом действия?
Читать полностью…
это тебе надо привести char* к другому типу, и тогда ты ССЗБ
Читать полностью…
Опять же с точки зрения языка программирования разыменование невыровненного указателя это UB
Читать полностью…
Ну, технически у тебя указатель может смотреть, например, на вторую букву в аски-строке, и вот это уже выровнено не будет.
Читать полностью…
ОС выдаёт память постранично, страница по определению выровнена, всякие реализации маллоков поверх него тоже отдают выровненные адреса, ну и любой адекватный самодельный аллокатор тоже выровнит
Читать полностью…
это не процессор знает про выравнивание в языках программирования, это языки программирования знают про выравнивание которое нужно процессору %)
Читать полностью…
процессор умеет читать например 32-битный кусок памяти только если адрес по этим 32 битам выравнен
Читать полностью…
на x86 такого нет, на более других архитектурах встречается
Читать полностью…
Ну, с ограничениями "указатель на питоний объект" и "на поддерживаемых в cpython архитектурах" скорее всего можно так считать.
Читать полностью…
Я знаю что такое вектор, но откуда он в спитоне? Они реализацию скопировали из цпп?
Читать полностью…
Ну с точки зрения си ты невыровненный указатель к типу с выравниванием без ub и не получишь.
Читать полностью…
Ну просто с точки зрения языка программирования для байтовых строк выравнивание = 1, а вот какой там ассемблер будет сгенерирован уже другой вопрос
Читать полностью…
Но как раз процовые приколы мешают такими хаками пользоваться.
Читать полностью…
поэтому сигнализировать что-то последним битом указателя — обычная практика во всяких интерпретаторах
Читать полностью…
(но там в принципе адресация не побайтная, а "пословная", в качестве указателя номер слова, а не номер байта)
Читать полностью…
Ну указатели это немного так отдельный набор инструкций
Читать полностью…
бредогенератор говорит что спарки, мипсы, старые армы, и некоторые реализации risc-v
Читать полностью…
откуда вообще процессор знает о выравнивании типов данных в языке программирования
Читать полностью…
ну типа некорректная инструкция процессора — невыровненное чтение
Читать полностью…
ну да, разыменовывать невыровненный указатель на куче платформ — это SIGILL, а на x86 это тормоза, поэтому всё вокруг выровненное
Читать полностью…
ты видимо имел ввиду правила выравнивания. потому что указатели нечетными бывают очень даже.
Читать полностью…