что такое handle?

Тема в разделе "WASM.BEGINNERS", создана пользователем Ivan_assm, 7 ноя 2007.

  1. Ivan_assm

    Ivan_assm New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    132
    Адрес:
    Везде и нигде
    учу ассемблер.возник вопрос.вернее просьбочка...объясните кто - нибудь про хэндлы.че эт такое и зачем они?
     
  2. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    это вопрос не по assembler'у, а по Windows больше ))
    Handle - что в переводе значит дескриптор, что по-русски более понятно звучит как описатель.
     
  3. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    это указатель на "структуру" или "файл"...

    короче. это нить которая на чтото указывает. в винде функции API обмениваются собой указывая на ТО
    с чем чтото надо делать с помощью этих вот HANDLE.

    target для handle может быть:
    процесс
    файл
    папка
    ...

    любой "объект", в том числе окно.

    HANDLE ~ HWND ~ HFILE ~ HMODULE

    и др. обычно 4 байта занимает.

    в MSDN описано подробнее и по русски
     
  4. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    А что, есть русский полный MSDN?
    Подскажите где его взять тогда, плиз.
     
  5. ltshck

    ltshck New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    195
    http://msdn.microsoft.com/library/ - электронная.

    святая святых так сказать.
     
  6. Mi256

    Mi256 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    116
    Ivan_assm обясню на пальцах что ето...
    Хендл - ет номер адреса в системной таблице некоторой структуры данных . По етому номеру система находит адрес етой структуры в памяти и роботает с ней, как будто ето определённій обект типа файл или окно и т.д.
     
  7. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Ivan_assm

    Можно и ещё проще. Handle (дескриптор, описатель, жаргонное "хэндл") -- номер чего-нибудь. Например, номер процесса, номер окна и т.д. Эти номера присваивает Вындовз при создании соответствующего объекта (процесса, окна и т.д.) и передаёт его программе, которая в дальнейшем использует сей номер для манипуляций с объектом (например, чтобы послать сообщение окну). Как именно ОС формирует этот номер и как ищет по нему объект, знать не требуется (более того, этот механизм может теоретически меняться от версии к версии, поэтому полагаться на него не стоит).
     
  8. Ivan_assm

    Ivan_assm New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    132
    Адрес:
    Везде и нигде
    всем спасибо...теперь ясно!!!...двигаюсь дальше в странный но интересный мир assembler'а))))))))
     
  9. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    редко хендл - указатель. хотя смотря что ты подразумеваешь под словом "указатель"
    под понятием нить обычно понимается thread либо fiber, которые ни на что не указывают, а сами являются объектами
    МСДН насколько мне известно не переведен на русский
     
  10. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Это не мир ассемблера - это мир "программирования под виндоуз". В мир ассемблера вошел, когда понял арифметико-логические команды и их влияние на флаги. И научился почти любую сложную операцию раскладывать на простейшие шаги. (Если не понял - то и не вошел, хоть трижды запомни весь MSDN.) Все. Остальное - или зависит от конкретной ос (Windows как частный случай), или от процессоров (IA32 как частный случай), но прямой связи с миром ассемблера уже не имеет.
     
  11. Veter

    Veter New Member

    Публикаций:
    0
    Регистрация:
    23 дек 2006
    Сообщения:
    161
    Ходят слухи, что есть ещё мир микрокода. Микрокод, якобы - ноухау фирм-производители.

    Битфри придумал определение для хэндла - это ручка от форточки.
    Когда нам нужно что-то с форточкой сделать - мы берём её за ручку и ....
     
  12. 7inner

    7inner New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2007
    Сообщения:
    20
    Какую траву курим?
     
  13. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Veter

    Есть, есть микрокод, или, пользуясь советской терминологией, "микропрограммное обеспечение". С точки зрения обычного программиста оно намертво зашито в процессор или другое устройство и управляет его работой. Можно такую грубую аналогию провести: в MS DOS человек может ввести команду DIR и в ответ получить список файлов в текущем каталоге -- но выводит этот список не "железо" компьютера, а соответствующий код MS DOS. Точно так же любая команда ассемблера, даже такая простая, как MOV EAX, EBX, выполняется неким микрокодом.

    Для MOV EAX, EBX, например, фактически нужны три операции: 1) выборка кода команды из памяти и его расшифровка; 2) пересылка содержимого регистра EBX в EAX; 2) увеличение содержимого EIP на длину кода команды. Вот эти действия и выполняет микрокод, используя аппаратуру процессора. Но как конкретно это происходит, можно только догадываться: внутреннее устройство микропроцессоров является большой и страшной тайной.

    Кстати, возможна реализация команд и без микрокода, а прямо с помощью аппаратуры -- это так называемая "жёсткая логика". Первые вычислительные машины именно так и были построены, хотя в дальнейшем перешли на некий гибрид, где часть операций выполнялась аппаратно, а часть -- микропрограммно, поскольку некоторые команды сложно реализовать чисто аппаратным способом (слишком много логических элементов потребуется).
     
  14. FlatL1ne

    FlatL1ne FlatL1ne

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    34
    Адрес:
    Underground
    Скорее всего это не ручка, а косяк форточки. Ручка ближе к ООП. ;)
     
  15. Veter

    Veter New Member

    Публикаций:
    0
    Регистрация:
    23 дек 2006
    Сообщения:
    161
    Не думаю, что С дальше от ООП, чем ассемблер...
    Но идея с косяком понравилась, давно пора навести порядок в терминологии, а то хэндлы какие-то, виндовсы и уиндоузы непонятные.
    Можно же сделать намного проще и понятней :
    хэндл ----------------------------- косяк
    родительское окно ----------------- корабль
    операционная система ------------- домна
     
  16. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Veter
    извините за флуд, но
    используется плотницкая, судостроительная и металлургическая терминология, IMHO необходимо выбрать что-то одно...
     
  17. SergSerg

    SergSerg New Member

    Публикаций:
    0
    Регистрация:
    25 май 2007
    Сообщения:
    4
    Извините, что не в тему, но тут ссылка на msdn в русском виде была
    http://msdn.microsoft.com/library/
    У меня вызывает переадресацию в никуда. Интересно это особенности местной сети или у Всех так?
    У кого-нибудь работает?
    Не поленитесь ответте пожалуйста - больно уж объект заявленный интересен?
     
  18. SergSerg

    SergSerg New Member

    Публикаций:
    0
    Регистрация:
    25 май 2007
    Сообщения:
    4
    Ну вот вроде сюда пересылает - здесь работает, но все равно не чисто по русски- с англоязычными отступлениями.
    http://msdn2.microsoft.com/ru-ru/default.aspx