Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Дескриптор


Автор: alexXx 16.10.2005, 16:08
Народ помогите плиз. Начинаю разбираться с кодингом под винду и никак не въеду, че такое дескрипторы и нафиг они нужны (только по русски;)). Может еще какие-нибудь советы дадите, или ссылочку какую!? Зарание Спасибо smile

Автор: WERITAS 16.10.2005, 16:45
Это аналог this'a в винде! Только он называется handle smile

Автор: oleg1973 16.10.2005, 16:49
ну кароче к примеру ты открываеш/создаеш файл
функция АПИ тебе возвратит дескриптор файла (проще говоря номер) потом при работе с файлом нужно указывать его дескриптор чтобы система могла понять с каким именно файлом ей надо работать

это вообщем справедливо для любого обьекта - файл/окно/сокет и так далее

Автор: nikitao 16.10.2005, 17:30
http://adept7.narod.ru/library/programming/vc/vcpp/winapi/1.html

Автор: DeadSoul 17.10.2005, 00:04
Цитата(WERITAS @ 16.10.2005, 16:45)
Это аналог this'a в винде! Только он называется handle 

Бред.

Дескриптор - это некоторое число\индекс, которое позволяет идентифицировать данный файл\мютекс\....
Для чего они нужны? Есть разные компилеры и разныя языки программирования. Они и нужны для общения между нинми

Автор: bilbobagginz 17.10.2005, 00:55
descriptor - нужда по 2-м причинам:
1. пощти каждый ресурс можно использовать 2-мя или более программами одновременно.
если в такой ситуации каждый раз нужно было бы создавать структуру/класс "файл" - это дорого.
если создаешь только новый дескриптор - дешевле ( но нужно считать сколько дескрипторов на каждый открытый файл есть)
2. легче передавать int чем какой-то указатель.

МертвыйДуш:
так что, компилеры нужны для общения между языками ? или десктрипторы для общения с компилерами ?
smile

Автор: Neitron 17.10.2005, 09:01
Эх, если бы мне когда-нибудь кто-нить также всё разжовывал.

Автор: maxim1000 17.10.2005, 13:39
Цитата
легче передавать int чем какой-то указатель

smile
HANDLE определен как void*

дескриптор дает возможность описать доступ кого-либо к какому-то объекту системы, т.е. к одному и то му же объекту один поток может иметь доступ на запись, а другой - на чтение (например)
кроме того, позволяет вести подсчет ссылок на объект для автоматического его удаления, когда он уже никому не нужен...

Автор: Neitron 17.10.2005, 13:50
Легче сказать: "Читаем Рихтера."

Автор: alexXx 17.10.2005, 15:13
Спосибо вам ОГРОМНОЕ всем. Вроде начинаю догонять!!!!! smile

Автор: WERITAS 17.10.2005, 19:39

Цитата
Только он называется handle


Ай, я перекодил smile . HWND он называется

Автор: DeadSoul 17.10.2005, 20:06
Цитата(WERITAS @ 17.10.2005, 19:39)
Цитата
Только он называется handle
Ай, я перекодил  . HWND он называется

НЕТ! Смотри Event,Mutex...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)