[問題] 請問macro有相關的翻譯器嗎?

作者: liu2007 (è–¯)   2021-06-09 14:26:53
這個問題我不知道在這邊發問是不適合@@
其實我不知道這個想法會不會太過旁門左道
「蛤? 你居然不想自己一層一層慢慢去翻譯,懶到這種程度?」
不過我也不曉得這個問題因為大家自己替換的能力太強了,
還是說是因為實務上真的沒必要
還是可能在開始編譯之前都不知道被替換成怎麼樣子
最近在看知名程式的原始碼
我井底之蛙,第一次看到Macro可以一直套一直套像是不用錢一樣(還真的不用錢)
其中還參雜typedef互相套,看到後面直接花掉
想請問QT或是其他IDE有沒有可以「滑鼠移過去,就自動跳出一個視窗,
裡面是顯示Macro轉譯的最終結果」
這樣,或是類似的功能?
如果沒有這種功能,是因為實際上真的不必要
還是有一些東西要執行後才知道結果?
另外想請問大家在閱讀原始碼的時候都是怎麼跟macro這些俄羅斯娃娃相處的?
感謝閱讀
作者: idiont (supertroller)   2021-06-09 14:34:00
g++ -E
作者: noahleft (NoahLeft)   2021-06-09 15:03:00
你要最終轉譯結果只能靠g++ -E了或者是找看看doxygen能不能解譯
作者: james732 (好人超)   2021-06-09 18:21:00
VSCode可以做到一定程度的展開,像這樣:https://imgur.com/a/2SjTcSC
作者: chuegou (chuegou)   2021-06-09 21:10:00
輸出預處理結果阿 或是加一行#error當斷點
作者: Lipraxde (Lipraxde)   2021-06-09 22:02:00
俄羅斯娃娃XDD
作者: galic (嘎利)   2021-06-10 21:44:00
vscode+clangd
作者: qscgy4 (有點厲害)   2021-06-11 14:02:00
這就是C/C++的厲害,見識到了吧!
作者: b0920075 (Void)   2021-06-11 14:09:00
macro 其實跟編譯器提供的支援比較有關

Links booklink

Contact Us: admin [ a t ] ucptt.com