FAR указатели
От: AlexS1  
Дата: 29.11.02 08:26
Оценка:
Господа, а можно ли как-то в Visual C++ работать с far указателями (когда в указателе присутствует селектор)? Судя по MSDN far указатели как-бы не поддерживаются, Но неужели это невозможно в языке Как-то не верится.

17.03.05 18:31: Перенесено модератором из 'Средства разработки' — Павел Кузнецов
Re: FAR указатели
От: Bell Россия  
Дата: 29.11.02 08:34
Оценка:
Здравствуйте, AlexS1, Вы писали:

AS>Господа, а можно ли как-то в Visual C++ работать с far указателями (когда в указателе присутствует селектор)? Судя по MSDN far указатели как-бы не поддерживаются, Но неужели это невозможно в языке Как-то не верится.


А что ты понимаешь под far указателем?
Любите книгу — источник знаний (с) М.Горький
Re: FAR указатели
От: _Dinosaur Россия  
Дата: 29.11.02 08:37
Оценка:
Здравствуйте, AlexS1, Вы писали:

AS>Господа, а можно ли как-то в Visual C++ работать с far указателями (когда в указателе присутствует селектор)? Судя по MSDN far указатели как-бы не поддерживаются, Но неужели это невозможно в языке Как-то не верится.


А зачем?
Использование far указателей необходимо при написании приложений под DOS
(т.е. когда проц работает в режиме виртуального 8086)
Под виндой используется плоская модель памяти, поэтому far указатели не нужны.
Использование селекторов происходит на уровне проца при преобразовании адресов.
Завидую людям, которые могут себе позволить никуда не спешить.
Re[2]: FAR указатели
От: AlexS1  
Дата: 29.11.02 08:47
Оценка:
Здравствуйте, _Dinosaur, Вы писали:

D>Здравствуйте, AlexS1, Вы писали:


AS>>Господа, а можно ли как-то в Visual C++ работать с far указателями (когда в указателе присутствует селектор)? Судя по MSDN far указатели как-бы не поддерживаются, Но неужели это невозможно в языке Как-то не верится.


D>А зачем?

D>Использование far указателей необходимо при написании приложений под DOS
D>(т.е. когда проц работает в режиме виртуального 8086)
D>Под виндой используется плоская модель памяти, поэтому far указатели не нужны.
D>Использование селекторов происходит на уровне проца при преобразовании адресов.

Для обычного Windows приложения это не нужно. В моем случае все по другому. Путем модификации GDT/LDT я предоставляю контекст одного приложения другому для полного доступа. То другое приложение должно работать как со своим контекстом, так и с другим. Для этого не и нужны far указатели (для доступа через др. селектор).
Re[3]: FAR указатели
От: _Dinosaur Россия  
Дата: 29.11.02 08:55
Оценка:
Здравствуйте, AlexS1, Вы писали:

AS>Для обычного Windows приложения это не нужно. В моем случае все по другому. Путем модификации GDT/LDT я предоставляю контекст одного приложения другому для полного доступа. То другое приложение должно работать как со своим контекстом, так и с другим. Для этого не и нужны far указатели (для доступа через др. селектор).


Ты хочешь использовать данные одного процесса из другого?
Завидую людям, которые могут себе позволить никуда не спешить.
Re[4]: FAR указатели
От: AlexS1  
Дата: 29.11.02 09:03
Оценка:
Здравствуйте, _Dinosaur, Вы писали:

D>Здравствуйте, AlexS1, Вы писали:


AS>>Для обычного Windows приложения это не нужно. В моем случае все по другому. Путем модификации GDT/LDT я предоставляю контекст одного приложения другому для полного доступа. То другое приложение должно работать как со своим контекстом, так и с другим. Для этого не и нужны far указатели (для доступа через др. селектор).


D>Ты хочешь использовать данные одного процесса из другого?


В общем да. Только путь предлагаемый Win32 (Toolhelp32ReadProcessMemory, ReadProcessMemory, WriteProcessMemory) мне не подходит. Мне нужем ПРЯМОЙ доступ для чтения и записи, и чтобы с этим удобно было работать в Visual.
Возможно в дальнейшем потребуется вызывать методы отдного приложения из другого через т.н. CallGate.
Re: FAR указатели
От: Sergey Россия  
Дата: 29.11.02 09:03
Оценка:
Здравствуйте, AlexS1, Вы писали:

AS>Господа, а можно ли как-то в Visual C++ работать с far указателями (когда в указателе присутствует селектор)? Судя по MSDN far указатели как-бы не поддерживаются, Но неужели это невозможно в языке Как-то не верится.


Да вроде отсутствуют как класс. Ассемблерные вставки делать приходится.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[5]: FAR указатели
От: KroshkRu Россия  
Дата: 16.03.05 15:43
Оценка:
AS>Путем модификации GDT/LDT я предоставляю контекст одного приложения другому для полного доступа.

Не подкинете ссылочку на то, как по Windows NT/2000 можно работать с LDT/GDT.
Re: FAR указатели
От: Кодт Россия  
Дата: 17.03.05 16:35
Оценка:
Здравствуйте, AlexS1, Вы писали:

AS>Господа, а можно ли как-то в Visual C++ работать с far указателями (когда в указателе присутствует селектор)? Судя по MSDN far указатели как-бы не поддерживаются, Но неужели это невозможно в языке Как-то не верится.


far указатели — это расширение языка. В VC1.5 (под Win16) они ещё были актуальны, а в Win32 user mode, с которым работает VC6..VC7 — нет.
Вот их и "закомментировали".
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.