Tôi có một con trỏ trỏ đến một cuộc gọi hàm mà nguyên mẫu được khai báo bên trong một tệp tiêu đề được bao gồm. Tôi muốn lấy vị trí cho khai báo như vậy, nhưng như có thể thấy trong đầu ra gdb dưới đây, sau khi nhận được kiểu cho cuộc gọi hàm, việc lấy con trỏ cho kiểu khai báo là không thành công, làm thế nào để có được nó đúng?Với libclang, làm thế nào để có được con trỏ cho kiểu khai báo của một con trỏ tại cuộc gọi hàm?
(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
Dưới đây là tất cả các mã nguồn có liên quan: