[uquote="ROMan2947",url="/forum/viewtopic.php?p=3338622#p3338622"]Где нужно помещать обработчик прерывании,[/uquote]
Там, где это позволит свести к минимуму внешние связи модуля. Чем меньше из него "торчит" наружу, тем надёжнее и предсказуемее работа. extern в чистой С-программе - это форс-мажор - давить нещадно, для функций он бессмысленен, для переменных - даёт всем кому не лень такую свободу обращения с вашими данными, которой окружающие не заслуживают, да и делает переменную уже никак не вашей - потому как контроля над тем, кто с ней побаловался, когда и как - у вас уже не будет. Резюме перфекциониста: Обработчик - в модуль клавиатуры вместе с известной переменной, которую делаем статической а кто хочет её почитать - пожалте им функцию get_cur_button. Ну и сказать оптимизатору - "Выноси, родима-а-й!"
[uquote="ROMan2947",url="/forum/viewtopic.php?p=3338622#p3338622"]В чем разница использования внешней переменной и работать просто с адресом переменной?[/uquote]
Теоретически [для встроенных типов размером меньше размера указателя] - в дополнительной операции разыменования для получения содержимого по адресу. Практически - скорее всего, компилятор и так будет оперировать указателем. Ну и для ясности понимания кода, тот кто будет его читать после вас наверняка подумает, что есть причина использования именно указателя вместо переменной - и потратит время на поиски этой причины. Пишите проще - и сами-же себе спасибо скажете через пару годиков, будь придётся нынешний код ещё куда встраивать.
Добавлено after 6 minutes 7 seconds:
[uquote="da-nie",url="/forum/viewtopic.php?p=3338694#p3338694"]Ну и могу ещё посоветовать систему контроля версий поставить.[/uquote]
Настойчиво посоветовать.
