Другие языки программирования и технологии
Знатокам C++. Как переводится handle (msdn)?
Что-то не могу этому термину перевода понятного найти. "Рукоятка" применительно к C++ как- то не подходит. )))Вот, собственно контекст:Handle to a brush. This type is declared in WinDef.h as follows:typedef HANDLE HBRUSH; Спасибо!
В системе существует множество разнотипных объектов, существованием которых управляет система,
которая предоставляет всевозможные интерфейсы для работы с ними прикладной программе с помощью
Win32 API. Чтобы прикладная программа могла как-то идентифицировать тот или иной объект,
с которым она работает посредством системных вызовов. Для этого вводится хэндл (HANDLE), который решает эту задачу -
он по сути является уникальным идентификатором (в общем-то, хэндл - 32-битное беззнековое число) .
Кроме того, в некоторых системных вызовах могут фигурировать только объекты определённого типа (HBRUSH,
HPEN, HWND, HFILE, HMEM,...),
а в некоторых - более широкие классы объектов, в том числе есть функции, которые могут работать с любыми
объектами. Поэтому существуют различные типы хэндлов (которые на самом деле те же самые хэндлы,
только называются по-разному) . Таким образом, всевозможные хэндлы образуют иерархию наследования
с одним базовым классом - HANDLE. Фактически, эмулируется ОО-система посредством процедурного
API, что позволяет использовать не-ОО-языки для написания прикладных программ под ОО-систему Windows.
Перевести это слово можно в данном контексте как дескриптор (соответствующего объекта) , идентификатор, хэндл.
которая предоставляет всевозможные интерфейсы для работы с ними прикладной программе с помощью
Win32 API. Чтобы прикладная программа могла как-то идентифицировать тот или иной объект,
с которым она работает посредством системных вызовов. Для этого вводится хэндл (HANDLE), который решает эту задачу -
он по сути является уникальным идентификатором (в общем-то, хэндл - 32-битное беззнековое число) .
Кроме того, в некоторых системных вызовах могут фигурировать только объекты определённого типа (HBRUSH,
HPEN, HWND, HFILE, HMEM,...),
а в некоторых - более широкие классы объектов, в том числе есть функции, которые могут работать с любыми
объектами. Поэтому существуют различные типы хэндлов (которые на самом деле те же самые хэндлы,
только называются по-разному) . Таким образом, всевозможные хэндлы образуют иерархию наследования
с одним базовым классом - HANDLE. Фактически, эмулируется ОО-система посредством процедурного
API, что позволяет использовать не-ОО-языки для написания прикладных программ под ОО-систему Windows.
Перевести это слово можно в данном контексте как дескриптор (соответствующего объекта) , идентификатор, хэндл.
По моему Handle это что-то типа указателя...
Причем здесь C++:) ? to handle - можно перевести как "обрабатывать", Существительное - ну типа как что-то с помощью чего можно управлять чем-то
права Елена
Handle - указатель, ссылка на адрес с которого начинает храниться в памяти переменная
Handle - указатель, ссылка на адрес с которого начинает храниться в памяти переменная
так как Windows является многозадачной системой то одна и та же программа может быть запущена несколько раз.
Поэтому чтобы различать экземпляры программ, каждому экземпляру присваивается условный номер - handle.
Так что хендл - это указатель на блок памяти, в котором расположен объект.
Хендлы присваиваются всему : курсору, меню, окну, иконке ...
Поэтому чтобы различать экземпляры программ, каждому экземпляру присваивается условный номер - handle.
Так что хендл - это указатель на блок памяти, в котором расположен объект.
Хендлы присваиваются всему : курсору, меню, окну, иконке ...
Максим Юсупов
Хэндл - это не указатель... Он скорее походит на дескриптор файла в бейсике... Потому что хэндл - это просто число, оно не указывает на конкретный адрес памяти компа. Это... Можно сказать, что это что то вроде "регистрационного номера" объекта... в данном случае пера... Причем даже разнородные объекты не могут иметь один и тот же хэндл... Например, контекст окна и перо не будут иметь один и тот же хэндл, никогда.
handle - это дескриптор. идентификатор описателя какого-либо объекта
Точнее не рукоятка, а "Рычаг", и вот почему:
handle - это идентификатор в системе (Windows), определяющий какой либо объект, которым с помощью его можно управлять.
Это НЕ указатель, как заметил тут говорят, это именно внутренний идентификатор (все API функции используют его для определения объекта к которому будет функция применена)
Соотношение хэндлов и адресов памяти хранятся в специальной таблице (извиняюсь за дыры в памяти, сейчас не вспомню названия) )
Объектами могут быть окна, кисти, контексты устройств и т. д (остальные объекты оси) . Он необходим для работы с API
Хэндлы могут быть разные в зависимости от объекта, к которому они относятся:
HDC - Handle Device Context
HMODULE
HWND - Handle Window
HBRUSH - хэндл кисти
Разность выражается в названии) ) с точки зрения асма - они все имеют одну и ту же длинну (какую не поню, вроде WORD, но это ты и сам можешь посмотреть)) , но это разность между самими хэндлами! Объекты к которым они относятся могут быть очень рзными!
handle - это идентификатор в системе (Windows), определяющий какой либо объект, которым с помощью его можно управлять.
Это НЕ указатель, как заметил тут говорят, это именно внутренний идентификатор (все API функции используют его для определения объекта к которому будет функция применена)
Соотношение хэндлов и адресов памяти хранятся в специальной таблице (извиняюсь за дыры в памяти, сейчас не вспомню названия) )
Объектами могут быть окна, кисти, контексты устройств и т. д (остальные объекты оси) . Он необходим для работы с API
Хэндлы могут быть разные в зависимости от объекта, к которому они относятся:
HDC - Handle Device Context
HMODULE
HWND - Handle Window
HBRUSH - хэндл кисти
Разность выражается в названии) ) с точки зрения асма - они все имеют одну и ту же длинну (какую не поню, вроде WORD, но это ты и сам можешь посмотреть)) , но это разность между самими хэндлами! Объекты к которым они относятся могут быть очень рзными!
Это идентификатор выделенного системой ресурса.
Похожие вопросы
- Вопрос для знатоков C++. Срочно! Срочно! Научите меня программировать на C++ за один вечер! Я заплачу любые деньги!
- Handle In C++
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Что такое библиотеки MSDN и зачем они нужны?
- Ещё тупой вопрос по C++ :)
- Где найти Описание функций из Winmm.dll? http://msdn.microsoft.com не открывается.
- Почему многие отдают предпочтение C++ а не C# ?
- Помогите срочно C#
- Учу C++! Уже знаю: типы данных, циклы. условия, привидения и т. д учу 5дней. вот программа! Как норм за 5 дней?
- Помогите исправить ошибку в программе (c++).