2013-04-01 3 views
0

Может ли кто-нибудь сказать мне, какая функция в исходном коде gcc отвечает за поиск макроса в файле C и его возвращение с фактическим значением?Функция в исходном коде gcc

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

ответ

0

Это делается препроцессором перед генерированием выходного файла. Если вы хотите, чтобы увидеть, что он делает, попробуйте GCC -E

От человека НКУ:

-E Stop after the preprocessing stage; do not run the compiler proper. 
    The output is in the form of preprocessed source code, which is sent to 
    the standard output. 
+0

Спасибо за ответ. Но мне нужен точный funtion в gcc-источнике, который находит и заменяет макрос. – user2060958

+0

В текущем GCC есть препроцессор, встроенный в компилятор, он больше не является отдельной программой. – vonbrand

0

Я рекомендую использовать clang для данного типа задач. Он довольно хорошо документирован, и вам не нужно менять его источник, поскольку он расширяется с помощью плагиновой системы.

В вашем случае вы создаете плагин на основе класса PPCallbacks и переопределяете его метод MacroExpanded и любой другой метод, который вы считаете полезным. This - простая отправная точка.

Смежные вопросы