gpt4 book ai didi

python - Python 采用什么版本的 C?

转载 作者:太空狗 更新时间:2023-10-30 02:47:19 26 4
gpt4 key购买 nike

据我了解,Python 的规范版本是用 C89 编写的。我有兴趣稍后可能会为 Python 编写一些基于 C 的扩展,但我对我应该使用哪个版本的 C 感到有点困惑(在 Python 文档中找不到)。由于 Python 在 C89 中,我应该在 C89 中编码还是 C11 代码也能工作?

最佳答案

自 C89 以来,C 作为一种语言只经历了相对较小的演变。在 C89、C99 和 C11 的交汇处编写代码非常容易,这就是我建议您做的(与其说是为了与 Python 接口(interface),后者更多是在 ABI 级别,不如说是一般源代码级别的最佳实践).

我没想到,通过将自己限制在 C89 中,您失去了 for (int i=0;…) 语法、可变长度数组和复数。

通过为 C99 编写代码,您将失去使用 C89 允许的隐式类型 int 声明变量的能力。这从来都不是一个好主意。

C11 清楚地表明,某些结构在以前的标准中不明确时是被禁止的:INT_MIN % (-1), (0,i++,j) + (0,j++, i)( discussion ; 见评论).

C99 中引入的最有用的补充可能是 C++ 风格的 // 注释。但大多数编译器甚至在 C99 发布之前就已经接受了这些作为扩展,因此没有理由在 2013 年避免使用它们。

关于python - Python 采用什么版本的 C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com