LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

А вот с callback-функциями вообще не понятно как их писать

любая переменная имеет адрес в памяти, и функция тоже имеет адрес в памяти - это начало ее кода. на этот адрес и делает процессор перескок своим указатедем текущей инструкции, когда исполняет команду «вызови функцию такую-то»

вот колбек и есть этот адрес начала функции. процессор просто делает вызов не функции что ему дали явно в инструкции вызова, а что дали косвенно - положив адрес функции в регистр. он оттуда адрес берет и делает перескок по этому адресу. вот какой адрес положишь туда и перескочит.

Исходная версия alysnix, :

А вот с callback-функциями вообще не понятно как их писать

любая переменная имеет адрес в памяти, и функция тоже имеет адрес в памяти - это начало ее кода. на этот адрес и делает процессор перескок своим указатедем текущей инструкции, когда исполняет команду «вызови функцию такую-то»

вот колбек и есть этот адрес начала функции. процессор просто делает вызов не функции что ему дали явно, а что дали косвенно - положив адрес функции в регистр. он оттуда адрес берет и делает перескок по этому адресу.