В Солдатове сказано что глобальные переменные не стоит использовать в драйвере. Почему? Какие могут быть проблемы и как их решить?
Novi4ek Можно использовать всё, но если понимаешь, что ты делаешь. Здесь, вероятно, дело в том, что при программировании низкоуровневых компонентов, в т.ч. и драйверов, велика возможность параллельной работы кода самому себе, что создаёт определённые сложности при использовании глобальных переменных.
Ну я так понял речь идет именно о глобальных переменных, потому что например по поводу расширения устройства, указатель на который передается всяким колбекам, и который тоже вообщем-то один на всех, таких оговорок не делается
Novi4ek Ну, если грубо, то в тех случаях, когда глобальная переменная используется только на чтение (на запись -- только в процессе инициализации драйвера), тогда проблем нет. А вот если её значение надо изменять в ходе работы драйвера, тогда могут возникнуть проблемы.