1樓:haoshu zhao
編譯一下就比較好得到了。
Is there a way to print out the type of a variable/pointer in C?
這裡面提到的方法有:
編譯之後用GDB看型別
用不正確的格式列印:printf
("%d"
,variable
);然後編譯:gcc -Wall
看編譯器給出的警告資訊。
用g++的typeof:typeid(typeof(x)).name()
2樓:「已登出」
clang有乙個選項-dump-ast-xml,可以將抽象語法樹以XML的形式輸出。然後你處理一下XML就好了。這個選項預設沒有編譯進來,你自己配置編譯一下就可以了。
這個是最方便的做法,不需要去學clang的庫。
update:
使用示例:
clang -fsyntax-only -Xclang -ast-dump-xml example.c
3樓:
推薦兩篇博文
1.理解C/C++語言的宣告語法
2.理解C/C++語言的宣告語法
文章內容(部分?)來自http://book.douban.com/subject/1143879的附錄
通過例項講解了C/C++中的宣告(specifier+declarator),並提供了分析識別符號型別的通用方法
非常的棒
C 中類B需要訪問類A的私有成員變數,除了將B宣告為A的友元類外還有其它方法嗎?
春秋代序 友元函式可不可以呢。將類B的成員函式宣告為類A的友元函式,這樣的話比整個類宣告為友元類更安全一點。現在初學c 的大學生應該都會想到教材的友元成員函式這種簡單方法吧,不知道樓主是不是這個意思,如果樓主是所有友元方法都不想用,那就打擾了 陳俊皓 紙上談兵的方法是,讓類的乙個公共成員函式返回這個...
C 中的類 class entry public entry next 這裡的entry與next有什麼關係?entry怎麼能修飾next呢?
你建立了乙個類,就建立了乙個型別。public entry next 看不懂,public Integer next 能看懂吧?乙個道理。 南蔥 遞迴型別並不是乙個很基礎的概念,乙個型別之所以能成為它自己的組成部分,乙個很重要的前提就是遞迴型別展開是可以終止的,換句話說就是該型別的例項可以為空值 這...
c 中 不同 namespace 的變數及函式查詢是怎樣設計的?
能找到test是由於test含有乙個型別S1的引數,所以會在S1所在的命名空間中尋找函式test。這種查詢方式叫做Argument dependent lookup或者Koenig lookup。Argument dependent lookupThese function names are lo...