0
我正在使用go-clang庫來解析以下C文件:aac.c。由於某些原因,當我通過clang運行文件並轉儲AST時,我不會爲某些函數獲取AST輸出。例如,C文件在文件中稍後包含forward declaration of aac_ioctl_send_raw_srb
和actual definition。libclang不發射某些AST節點
鑑於此,我期待看到在輸出的兩個AST節點,但只有一個FuncDecl
(向前聲明)轉儲:
clang -Xclang -ast-dump -fsyntax-only aac.c | grep "aac_ioctl_send_raw_srb" | wc -l
aac.c:38:10: fatal error: 'opt_aac.h' file not found
#include "opt_aac.h"
^
1 error generated.
1 <--- wc output
(忽略錯誤)
我得到相同的結果使用go-clang庫從我自己的應用程序中解析C文件。有沒有解釋爲什麼定義不被傾銷?