История изменений
Исправление 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, и возможность назначать сегмент каким то подобным атрибутом. Нужна еще константа которая определяет размер сегмента, правила на то может ли массив лежать в двух сегментах сразу.