[an error occurred while processing this directive]
Тумблеру (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 13 декабря 2005 г. 22:26

>> " А загружать корректный this эта работа компилятора"
>> Откуда компилер узнает this? И с чего он вообще будет
>> чего-то там загружать ?
>> Загрузка this произойдет при обращении к классу через
>> голову класса.
>> А передача урпавления на фильтр исключений происходит прямо
>> "ф тело".
>> ;)

Похоже, что Вы никогда не писали диспетчерезации событий в системе, построенной на базе ООП. К счастью мне это доводилось, ибо я всегда занимаюсь low-level делами. То есть уровнем библиотек, о которых простым программерам, типа Вас, знать даже и не надо. Они, эти либы, тихо делают свое черное дело, и никому не видны.
Так вот - все callback'и виндовс попадают не куда-то, а в специальный диспетчер. Который есть часть run-time библиотеки. Который сопоставляет полученную информацию о контексте от ОС со своими таблицами, и (для каждого типа вызова по-своему) определяет, в какой класс оно должно отправиться. И вызывает уже функцию член, официально, занеся все что нужно в this. Естественно не корректно давать в винду непосредственно адрес функции-члена для использования в виде callback. Но это вопрос низкоуровневой реализации. И никаких ассемблерных вставок, ничего не-С-шного тут не нужно. Нужно просто корректно писать окружение программы. То есть всякие воспомогательные библиотечные дела, которые потом позволят удобно работать тем, кто с ООП непосредственно воюет.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru