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

看板C_and_CPP作者 (薯)時間2年前 (2021/06/09 14:26), 編輯推噓5(505)
留言10則, 8人參與, 2年前最新討論串1/1
這個問題我不知道在這邊發問是不適合@@ 其實我不知道這個想法會不會太過旁門左道 「蛤? 你居然不想自己一層一層慢慢去翻譯,懶到這種程度?」 不過我也不曉得這個問題因為大家自己替換的能力太強了, 還是說是因為實務上真的沒必要 還是可能在開始編譯之前都不知道被替換成怎麼樣子 最近在看知名程式的原始碼 我井底之蛙,第一次看到Macro可以一直套一直套像是不用錢一樣(還真的不用錢) 其中還參雜typedef互相套,看到後面直接花掉 想請問QT或是其他IDE有沒有可以「滑鼠移過去,就自動跳出一個視窗, 裡面是顯示Macro轉譯的最終結果」 這樣,或是類似的功能? 如果沒有這種功能,是因為實際上真的不必要 還是有一些東西要執行後才知道結果? 另外想請問大家在閱讀原始碼的時候都是怎麼跟macro這些俄羅斯娃娃相處的? 感謝閱讀 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.225.144 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1623220018.A.F24.html

06/09 14:34, 2年前 , 1F
g++ -E
06/09 14:34, 1F

06/09 15:03, 2年前 , 2F
你要最終轉譯結果只能靠g++ -E了
06/09 15:03, 2F

06/09 15:04, 2年前 , 3F
或者是找看看doxygen能不能解譯
06/09 15:04, 3F

06/09 18:21, 2年前 , 4F
VSCode可以做到一定程度的展開,像這樣:
06/09 18:21, 4F

06/09 18:21, 2年前 , 5F

06/09 21:10, 2年前 , 6F
輸出預處理結果阿 或是加一行#error當斷點
06/09 21:10, 6F

06/09 22:02, 2年前 , 7F
俄羅斯娃娃XDD
06/09 22:02, 7F

06/10 21:44, 2年前 , 8F
vscode+clangd
06/10 21:44, 8F

06/11 14:02, 2年前 , 9F
這就是C/C++的厲害,見識到了吧!
06/11 14:02, 9F

06/11 14:09, 2年前 , 10F
macro 其實跟編譯器提供的支援比較有關
06/11 14:09, 10F
文章代碼(AID): #1Wm5yoya (C_and_CPP)