2010-08-30 88 views
1

任何人都可以對此有所瞭解嗎?從Bison的文檔中,我沒有看到與此主題相關的任何內容。首先十分感謝。Mark如何使用Bison(Yacc)在C++中生成64位解析器?

+4

有什麼區別? C可以編譯爲32位或64位。 Theres沒有理由認爲你需要一個額外的標誌... – alternative 2010-08-30 19:39:55

+0

D你的意思是你想解析一個64位輸入流(即wchar_t是64位每個字符(又名UTF-32/UCS-4))。 – 2010-08-30 20:28:31

回答

3

Bison和Yacc生成一個C/C++代碼,它取決於您的編譯器設置將生成什麼程序集(32/64位)。

+0

有些事情在32位合法,在64位錯誤,例如:int x = someptr - someconstant; – 2013-04-22 07:27:58

+0

'int x = someptr - someconstant'在32位代碼中也是非法的。您必須始終使用ptrdiff_t類型指針差異來避免未定義的行爲。 – 2013-04-22 10:01:01