Глобальные переменные

Тема в разделе "WASM.NT.KERNEL", создана пользователем Novi4ek, 14 ноя 2007.

  1. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    В Солдатове сказано что глобальные переменные не стоит использовать в драйвере. Почему? Какие могут быть проблемы и как их решить?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    зря ты начал Солдатова читать, гиблое это дело.
     
  3. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    А конкретнее на вопрос ответ?
     
  4. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    используй, если хочецо, только с умом. учитывай многопоточность.
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Novi4ek

    Можно использовать всё, но если понимаешь, что ты делаешь. Здесь, вероятно, дело в том, что при программировании низкоуровневых компонентов, в т.ч. и драйверов, велика возможность параллельной работы кода самому себе, что создаёт определённые сложности при использовании глобальных переменных.
     
  6. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    Ну я так понял речь идет именно о глобальных переменных, потому что например по поводу расширения устройства, указатель на который передается всяким колбекам, и который тоже вообщем-то один на всех, таких оговорок не делается
     
  7. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Novi4ek

    Ну, если грубо, то в тех случаях, когда глобальная переменная используется только на чтение (на запись -- только в процессе инициализации драйвера), тогда проблем нет. А вот если её значение надо изменять в ходе работы драйвера, тогда могут возникнуть проблемы.