Как добавить переменную в каждый файл? - PullRequest
0 голосов
/ 15 марта 2019

У меня есть этот большой проект, который содержит десятки файлов .c.Я хочу добавить глобальную переменную в каждый файл без изменения исходного кода.Могу ли я это сделать?Может быть, с помощью функции оболочки или в MakeFile?Я ценю любую помощь.

Извините, не дал понять.Я имел в виду, например, что я хочу добавить переменную с именем int x в каждый файл, а затем я хочу использовать функцию-оболочку __wrap_foo(int a, int x) для замены исходной функции foo(int a), тогда как foo(int a) может или не может иметьиспользоваться в каждом файле.Причина, по которой я пытаюсь добавить ее в качестве глобальной переменной в каждый файл, заключается в том, что __wrap_foo может быть не единственной функцией-оболочкой, которая хочет использовать значение int x.Могут быть и другие оболочки, такие как __wrap_zoo(double b, int x), также использует и изменяет значение x.Я надеюсь, что это имеет больше смысла.

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете заставить свой компилятор вставлять оператор as-if-insert в начало исходного файла. Таким образом, если вы добавите -include custom.h в CFLAGS и вставите все переменные, переопределите настройки для всех файлов C, скомпилированных с этой опцией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...