Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Не могу распознать как применили typedef |
Автор: Barts 6.4.2013, 12:42 |
Подскажите как это в теории называется !!! typedef void QEMUResetHandler(void *opaque); void qemu_register_reset(QEMUResetHandler *func, void *opaque); void qemu_unregister_reset(QEMUResetHandler *func, void *opaque); что почитать? прошуршал уже много в интернете. просто не могу сформулировать ((( . Очень надеюсь на Вашу помощь Добавлено через 9 минут и 56 секунд что-то типа callback Функции?? ... |
Автор: Barts 6.4.2013, 13:35 |
это в исходниках Qemu найдено... там такого добра полно |
Автор: ChihPih 6.4.2013, 14:07 |
Тупо объявили прототип функции в виде своего типа. |
Автор: Barts 6.4.2013, 14:21 | ||
ну а работает конструкция типа как callback-функция??? |
Автор: borisbn 6.4.2013, 16:17 | ||
хммм... первый раз вижу такое... такое:
абсолютно понятно. а в оригинале - хз. Barts, s - means Simpson ? Cool, if yes ![]() |
Автор: ChihPih 6.4.2013, 16:42 | ||
Не совсем понял что подразумевается под callback-функцией. в общем можно писать так:
|
Автор: Barts 6.4.2013, 16:55 | ||||||
я это в исходниках на qemu отрыл. То ж не видел, не гадал. Например, чтобы проверить меня, можете скачать из удаленного репозитория последнюю версию Qemu: git clone git://git.qemu-project.org/qemu.git ну либо из tar-архивов достать исходники: http://wiki.qemu.org/Download так вот например в папке куда скачаются исходники, есть файл ./hw/hw.h Вот Оттуда и взят данный пример объявления. А описание функции лежит в файле ./vl.c
хочу понять дзен просто Добавлено @ 17:03 ChihPih, Спасибо Вам за пример. Да судя по Вашему примеру, да и по исследуемым исходникам - так оно и делается. Просто хочу понять не просто механически что как делать...
Callback ( обратный вызов ) — передача исполняемого кода в качестве одного из параметров другого кода. Обратный вызов позволяет внутри отдельных процедур исполнять код, определённый в других контекстах программного кода, то есть код недоступный в этих процедурах для прямого вызова. Кроме того, некоторые алгоритмические задачи в качестве своих входных данных имеют не только числа или объекты, но и действия (алгоритмы). Например, задача обхода двоичного дерева с применением некоторого действия к каждому узлу дерева. Обратный вызов в этих задачах может выступать в роли этого действия (алгоритма) |
Автор: Barts 6.4.2013, 17:27 | ||
Уважаемый, borisbn ! если Вы имел ив виду указатель на функцию, быть может так надо было ??...
|
Автор: Barts 6.4.2013, 18:39 |
вот ссылочка, которая вместе со здешними ответами прольет свет. http://club.shelek.ru/viewart.php?id=270 буду курить. Спасибо Всем! |
Автор: Barts 6.4.2013, 22:49 | ||
спасибо. надо разбираться, чтоб весь ливер устаканился... |
Автор: NoviceF 8.4.2013, 20:03 | ||
можно чуть более развёрнуто примерами пояснить? |
Автор: volatile 8.4.2013, 20:55 | ||||
должно компилицца. ![]() где нибудь в другом месте не забудьте определить саму функцию my_func, иначе линковщик не соберет.
|
Автор: NoviceF 9.4.2013, 09:45 |
volatile, спасибо, как выдастся время, попробую осмыслить ![]() |