php扩展代码必须是c89样式
我写了一个php扩展:,它工作得很好,我想把这个扩展提交给 但是他们说我的代码是C99风格的,PHP除了C89风格之外。我读了一些关于和的东西 并找出一些区别:php扩展代码必须是c89样式,c,c99,c89,C,C99,C89,我写了一个php扩展:,它工作得很好,我想把这个扩展提交给 但是他们说我的代码是C99风格的,PHP除了C89风格之外。我读了一些关于和的东西 并找出一些区别: stdbool.h inlinevs\uuuuuu inline\uuuuuu 我认为这两个文件中存在一些问题: 我修改了一些代码,并使用-std=gnu89对它们进行了测试。但我不确定是否还有一些问题 我的问题是: 如何测试我的代码是否为c89样式 如果有人能指出我代码中的问题,那就太好了 它不会对C89以外的所有功能发
stdbool.h
vsinline
\uuuuuu inline\uuuuuu
-std=gnu89
对它们进行了测试。但我不确定是否还有一些问题
我的问题是:
- 如何测试我的代码是否为c89样式
- 如果有人能指出我代码中的问题,那就太好了
gcc -Wall -pedantic -std=c89 ...
这是一个很好的起点。它不会警告C89中没有的所有功能,但是
gcc -Wall -pedantic -std=c89 ...
是一个很好的起点。不确定,但这个问题可能更适合codereview.com。C89和C99之间最大的区别可能是,在C89中,所有变量声明都必须位于封闭范围的顶部,其他任何地方都是不允许的。在
bin\u pack.c
中,您似乎仍有许多违反此规则的行为。另一件事,您不应该创建以\uu
开头的标识符-这是为编译器保留的特权。不是内联vs\uu内联,而是内联
vs什么都没有。@R。。是的,你说得对。但是我不明白为什么gcc支持ISO c的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
。我读到:如果您要编写包含在ISO C程序中的头文件,请在@AndrewMedico中编写uu inline而不是inline
,谢谢您的建议。不确定,但是,这个问题可能更适合codereview.com。C89和C99之间最大的区别可能是,在C89中,所有变量声明都必须位于封闭范围的顶部,其他任何地方都是不允许的。在bin\u pack.c
中,您似乎仍有许多违反此规则的行为。另一件事,您不应该创建以\uu
开头的标识符-这是为编译器保留的特权。不是内联vs\uu内联,而是内联
vs什么都没有。@R。。是的,你说得对。但是我不明白为什么gcc支持ISO c的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
。我读到:如果您要编写包含在ISO C程序中的头文件,请在@AndrewMedico中编写uu inline uuu而不是inline
,谢谢您的建议。小迂腐:-std=c89
/-std=C++98
是-ansi
的同义词,在对K&R v2(即C89/90)进行严格检查时,-ansi
看起来更干净一些。-ansi
用词不当,所以最好使用-std=C89
,这意味着它看起来像什么。次要迂腐:-std=C89
/-std=c++98
是-ansi
的同义词,当对K&R v2(即C89/90)进行严格检查时,-ansi
看起来更干净一些。-ansi
用词不当,所以最好使用-std=C89
,这意味着它的外观。