LINUX.ORG.RU

История изменений

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