The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск nginx 1.17.9 и njs 0.3.9"
Отправлено Аноним, 10-Мрт-20 01:25 
> Это все очень интересно, но на причину "почему индексация  массивов с
> 0 - более труЪ" не тянет от слова "совсем".

Довольно криво считать адреса с нуля а массивы с единицы. Например, в сях отличия массивов от просто указателей ... по сути номинальные.

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

Вам не кажется что будет по идиотски, если мы хотим начиная с адреса 0 поработать, но референсить в виде массива будем уже как 1? Это немедленно гарантирует легион "off by one" errors во всей системщине, как будто их без этого мало. И более того - есть еще такая веселая штука как alignment и пожелания железяк к оному. Вебмакак такими словами, конечно, не пугают, показывая им фильдеперсовые абстракции. Но эти абстракции кто-то должен сделать. И вот им совершенно не удобно все время влетать мордой в off by one error'ы на этой почве, равно как и большие проблемы с чет/нечет и вообще alignment.

Вплоть до того что хардварно шина может оперировать сразу эн байтами за присест, клав на несколько младших битов адреса болт. Некоторые процы за потуги несуществующие биты шины юзать вообще хардварным эксепшном (alignment error) по морде могут больно дать. Это, конечно, неудобно, но ряд процов этим грешил и назад в фабы их не затолкаешь.

> спорить с анонимом по поводу "Может, потому что память начинается с
> адреса 0?" в качестве аргумента "нулевой индексации" не вижу смысла.

А почему, собственно, адресация одного того же по указателю и массивом должна работать вот настолько по разному? Чтобы больше off by one было?

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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