Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Подскажите, плиз, где почитать про "функции обратного вызова". Т.е., что это такое и для чего это нужно ?
Отправлено
vinogradov aleksei
31 августа 2007 г. 12:29
Составить ответ
|
Вернуться на конференцию
Ответы
Очень просто: когда вы отдаете управление операционной системе она не всегда точно знает, что вы хотите. Например среди прочего нарисовать что-то на экране. Для этого в аргументах при вызове пересылаете адресс этой функции (рисования) и тогда система сможет выполнить это внутри себя вызвав вашу функцию.
—
Lucky
(31.08.2007 12:39:45
217.69.212.124
,
пустое
)
имхо callback к операционным системам отношения не имеет. Это общее понятие - пользовательская функция вызываемая в определенном месте в собранной БИБЛИОТЕКЕ.
—
Гамма СПб
(31.08.2007 12:43:35
85.249.46.122
,
пустое
)
Под операционной системой я понимаю все что не мной написано, но работает в моей программе. Любая ось состоит из библиотек. А вообще - это все философия. Суть: виртуальня функция где-то, чей адрес подставляется при вызове.
—
Lucky
(31.08.2007 12:48:33
217.69.212.124
,
пустое
)
Я бы не придирался к словам. ИМХО автор поста растолковал идею: Вы предоставляете функцию, которую вызывает, когда ему понадобится, что-то написанное не Вами.
—
Сидоргек
(31.08.2007 12:46:14
217.146.246.12
,
пустое
)
Одного не пойму. При чем здесь словосочетание "обратный вызов" ?
—
vinogradov aleksei
(31.08.2007 12:51:25
91.124.79.123
,
пустое
)
Потому что аналогия с телефонным "callback" - когда модем провайдера дозванивается до тебя.
—
CD_Eater
(31.08.2007 17:57:15
89.179.240.72
,
пустое
)
А почему проездной билет в Одессе зовут "постоянным", хотя он на месяц? (;-D) Так принято. Очевидно, имелось в виду, что когда Вы вызываете функцию - это "прямой" вызов, а когда кто-то другой - это "обратный".
—
Сидоргек
(31.08.2007 12:57:38
217.146.246.12
,
пустое
)
Как при чем? Ты вызываешь функцию, внешнюю по отношению к твоей программе, а она вызывает твою функцию.
—
K A A
(31.08.2007 12:56:37
213.132.80.164
,
пустое
)
Если речь идёт о программировании на С - посмотрите в описалове Вашего компилятора на библиотечную функцию qsort. Один из её аргументов - типичный коллбэк - предоставляемая Вами функция сравнения 2-х элементов массива. Другой типичный коллбэк - WinMain.
—
Сидоргек
(31.08.2007 12:35:12
217.146.246.12
,
пустое
)
Да, именно о Си ...
—
vinogradov aleksei
(31.08.2007 12:39:35
91.124.79.123
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
что получится, если сложить 4 и 4 ?
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru