Если я хочу развернуть макрос C, каковы хорошие способы сделать это (помимо отслеживания его вручную)?
Например, GTK_WIDGET_SET_FLAGS
, он использует макрос, который использует макрос, который использует макрос (или два)...
Я хочу просто увидеть его каким-то образом автоматическим образом, вместо поиска каждого макроса на каждом шагу.
UPDATE
Я пробовал cpp, но, похоже, только первый проход
на
GTK_WIDGET_SET_FLAGS(obj, 13)
Я получил расширенный файл include, а затем:
G_STMT_START{ ((GTK_OBJECT_FLAGS (obj)) |= (13)); }G_STMT_END
Это объясняется этим сообщением об ошибке. Я получаю это на stderr (при использовании -o filename)
gtk/gtkwidget.h:34:21: gdk/gdk.h: No such file or directory gtk/gtkwidget.h:35:31: gtk/gtkaccelgroup.h: No such file or directory gtk/gtkwidget.h:36:27: gtk/gtkobject.h: No such file or directory gtk/gtkwidget.h:37:31: gtk/gtkadjustment.h: No such file or directory gtk/gtkwidget.h:38:26: gtk/gtkstyle.h: No such file or directory gtk/gtkwidget.h:39:29: gtk/gtksettings.h: No such file or directory gtk/gtkwidget.h:40:21: atk/atk.h: No such file or directory
каталоги gtk, atk и gdk все находятся в текущем рабочем каталоге, поэтому как мне разрешить поиск cpp?
btw, gcc -E
дает тот же самый результат, что и cpp
Update2:
Проблема с включенным путём решается с помощью gcc -E и передачи каталога include с опцией -I