В настоящее время не существует официально поддерживаемого способа хранения состояния, который может использоваться двумя различными вызовами макросов proc.Я создал эту очень связанную проблему , где обсуждается эта проблема.
Сохранение состояния, конечно, возможно, но просто хакерским способом.Вы можете, например, сериализовать все ваше состояние в /tmp/my-state
.Или вы можете попробовать использовать static
глобальные переменные.Но даже если это работает сейчас, это не гарантированно сработает в будущем.Другая проблема: из-за инкрементной компиляции не гарантируется, что все ваши макропроцессы proc будут фактически выполнены.Поэтому, если у вас есть один макрос, который генерирует состояние, и тот, который читает его, если первый не выполняется, происходят действительно странные вещи.Таким образом, технически возможно сохранить глобальное состояние, но это не рекомендуется.
В проблеме, указанной выше, вы можете видеть, что MSleepyPanda предложила возможное решение , но мы далеки от того, чтобы иметь этореализован.