История изменений
Исправление
MOPKOBKA,
(текущая версия)
:
особенности компиляторов типа near/far указателей в стандарт не вошли
Ну это сильно надо стандарт раздувать, второй uintptr_t вводить, атрибут должен быть не только для указателей но и для функций и данных. Нужна возможность создавать полный указатель, __huge, и возможность назначать сегмент каким то подобным атрибутом. Нужна еще константа которая определяет размер сегмента, правила на то может ли массив лежать в двух сегментах сразу.
Надо еще отдельно прорабатывать семантику и атрибуты того что происходит при скачке на другой сегмент, менять ли сегментный регистр. Я не верю что комитет с таким бы справился разумно.
И все ради того что бы сократить пару строк кода вида:
#ifdef __borland
#define __FAR __far
#define __NEAR __near
#endif
Исправление
MOPKOBKA,
:
особенности компиляторов типа near/far указателей в стандарт не вошли
Ну это сильно надо стандарт раздувать, второй uintptr_t вводить, атрибут должен быть не только для указателей но и для функций и данных. Нужна возможность создавать полный указатель, __huge, и возможность назначать сегмент каким то подобным атрибутом. Нужна еще константа которая определяет размер сегмента, правила на то может ли массив лежать в двух сегментах сразу.
Надо еще отдельно прорабатывать семантику и атрибуты того что происходит при скачке на другой сегмент, менять ли сегментный регистр. Я не верю что комитет с таким бы справился разумно.
Исходная версия
MOPKOBKA,
:
особенности компиляторов типа near/far указателей в стандарт не вошли
Ну это сильно надо стандарт раздувать, второй uintptr_t вводить, атрибут должен быть не только для указателей но и для функций и данных. Нужна возможность создавать полный указатель, __huge, и возможность назначать сегмент каким то подобным атрибутом. Нужна еще константа которая определяет размер сегмента, правила на то может ли массив лежать в двух сегментах сразу.