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