Я пишу приложение MATLAB, которое имеет множество функций, распространяемых по разным файлам. У меня есть журнал, который является структурой с указателем на функцию, и я использую его для записи информации, которую пользователь видит (то есть, какая функция в настоящее время выполняется, результаты расчета и т.д.). Причина, по которой я использую структуру для моего регистратора, а не просто fprintf()
, заключается в том, что я мог бы легко заменить ее в логгерах XML, в журнале HTML и т.д. В будущем.
Так как мой код состоит из множества функций, вызывающих друг друга, я объявлял свою структуру logger глобальной, поэтому мне не нужно передавать ее ко всем моим многочисленным функциям. Однако, везде, где я смотрю, я вижу, что глобальные переменные являются злыми воплощенными в MATLAB и значительно замедлят мою программу.
Есть ли способ иметь переменные, доступные в файлах, не обязательно передавая их в качестве входных параметров и не испытывая серьезного снижения производительности?