2013-02-17 41 views
1

我實現一個C預...實現C預處理

維基,我發現它的以下功能...

  • 三字符替換
  • 線拼接
  • 符號化
  • 宏擴展和指令處理
  • 文件包含

我的問題:

  • 我缺少任何功能?
  • 什麼是上述功能的執行的正確順序? (即在今天的實際預處理器之前做了什麼?)

如果有人知道任何標準文檔,請提一下。

回答

7

標準文檔是C標準!正式版本是非免費的,但您可以找到足夠準確的草稿,例如對於C99,爲http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf

關注的章節5.1.1.2(轉換階段)和6.10(預處理指令)。

+2

如果你在這,也許最好是還看目前的標準,C11,不僅C99。我認爲這並沒有太大變化,但你永遠不知道。這將是'1570'而不是'1256'。 – 2013-02-17 13:50:08

+0

@JensGustedt謝謝! – Sam 2013-02-24 11:07:45