SIZE (с_з_индекс), знаковый аналог адреса и индекс в массивах
Добавлено: 04.01.21 00:18
В Активном Обероне есть чудовищный тип SIZE. Он имеет размер машинного слова, но знаковый. Мало того, что это само по себе ужасно, но этого мало. У него есть ещё и два отдельных применения. Он может применяться как:
Никак не мог понять, как же его перевести. Придумал. зАДРЕС - т.к. это АДРЕС, но знаковый. Обычно у меня для беззнаковых приставка, например, цел32 и бцел32. Но тут АДРЕС уже занят, значит будет приставка "з". Достаточно ужасно, чтобы было ясно, что такой тип нужно как можно быстрее заменить на что-то нормальное. А дальше нужно, очевидно, в применениях щепить его на два отдельных типа и несовместимых по присваиванию типа "системно_зависимый_индекс" для применения в массивах и какую-нибудь "разн_адресов" для работы с памятью. При том, кстати говоря, знаковое число размером с адрес недостаточно для выражения всевозможных разностей адресов на данной системе. Дело обстоит ещё страшнее, чем я думал.
Может тогда сначала сделать ЗАДРЕС, чтобы было ясно, где мы сейчас находимся, а уже после расщепления превращать его в зАДРЕС, который чуть менее ужасен?
- разница между двумя адресами памяти, в т.ч. размер объекта
- счётчик, например, разность между двумя индексами в массиве
Никак не мог понять, как же его перевести. Придумал. зАДРЕС - т.к. это АДРЕС, но знаковый. Обычно у меня для беззнаковых приставка, например, цел32 и бцел32. Но тут АДРЕС уже занят, значит будет приставка "з". Достаточно ужасно, чтобы было ясно, что такой тип нужно как можно быстрее заменить на что-то нормальное. А дальше нужно, очевидно, в применениях щепить его на два отдельных типа и несовместимых по присваиванию типа "системно_зависимый_индекс" для применения в массивах и какую-нибудь "разн_адресов" для работы с памятью. При том, кстати говоря, знаковое число размером с адрес недостаточно для выражения всевозможных разностей адресов на данной системе. Дело обстоит ещё страшнее, чем я думал.
Может тогда сначала сделать ЗАДРЕС, чтобы было ясно, где мы сейчас находимся, а уже после расщепления превращать его в зАДРЕС, который чуть менее ужасен?