В моем коде (коде игрового движка) есть несколько исходных (. c) файлов, которые поддерживают статус игры, такой как
START
CONFIGURE
STOP
END
DEFAULT
RUNNING
для поддержания состояния, одна глобальная переменная gameStatus
используется, который совместно используется несколькими исходными файлами, используя ключевое слово extern
. теперь я прочитал, что глобальная переменная плоха в использовании и позволяет внешнему модулю изменять ее, и по мере увеличения числа компонентов, использующих глобальную переменную, сложность взаимодействий также может увеличиваться.
Так что у меня есть ограничил область действия этой переменной одним файлом, используя ключевое слово static
, и добавил методы доступа, такие как get or set APIs
, в тот же файл. Таким образом, другие файлы получают доступ только к этой переменной с помощью API доступа.
Я удалил глобальную переменную, которая хороша, но теперь все остальные файлы, которые использовали эту глобальную переменную, должны вызывать API доступа, которые, кажется, добавляют накладные расходы на вызовы функций,
, так что теперь я запутался что лучше? любой C стандарт о том, как эффективно обмениваться данными между различными исходными файлами?