5
我有一個遊標指向一個函數調用,其中包含的頭文件中聲明瞭原型。我想獲取這樣的聲明的位置,但正如可以在gdb輸出波紋中看到的那樣,在獲取函數調用的類型之後,獲取指定類型的遊標失敗,如何正確地獲取它?使用libclang,如何在函數調用時獲取遊標的遊標聲明類型?
(gdb) n
66 CXType mickey_type = clang_getCursorType(mickey_cursor);
(gdb) n
67 CXCursor mickey_decl_cursor = clang_getTypeDeclaration(mickey_type);
(gdb) n
68 CXSourceLocation mickey_decl_location = clang_getCursorLocation(mickey_decl_cursor);
(gdb) p mickey_type
$1 = {
kind = CXType_FunctionProto,
data = {0x102826cb0, 0x100a03d90}
}
(gdb) print mickey_decl_cursor
$2 = {
kind = CXCursor_NoDeclFound,
xdata = 0,
data = {0x0, 0x0, 0x0}
}
(gdb) q
這裏的所有相關的源代碼: