我實現一個C預...實現C預處理
維基,我發現它的以下功能...
- 三字符替換
- 線拼接
- 符號化
- 宏擴展和指令處理
- 文件包含 個
我的問題:
- 我缺少任何功能?
- 什麼是上述功能的執行的正確順序? (即在今天的實際預處理器之前做了什麼?)
如果有人知道任何標準文檔,請提一下。
我實現一個C預...實現C預處理
維基,我發現它的以下功能...
我的問題:
如果有人知道任何標準文檔,請提一下。
標準文檔是C標準!正式版本是非免費的,但您可以找到足夠準確的草稿,例如對於C99,爲http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf。
關注的章節5.1.1.2(轉換階段)和6.10(預處理指令)。
你可能想看看gcc的文檔,看看他們是如何實現它: http://gcc.gnu.org/onlinedocs/cpp/
你也可以看看gcc的源代碼: http://www.gnu.org/software/gcc/releases.html
希望這有助於
謝謝!你能告訴我到哪裏尋找巨大的內部C預處理程序代碼(我的意思是非常巨大的!)的源代碼文件夾? – Sam 2013-02-24 11:08:58
如果你在這,也許最好是還看目前的標準,C11,不僅C99。我認爲這並沒有太大變化,但你永遠不知道。這將是'1570'而不是'1256'。 – 2013-02-17 13:50:08
@JensGustedt謝謝! – Sam 2013-02-24 11:07:45