2010-08-30 87 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