Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。

6年前关闭。



Improve this question




由于Python本身是用C编写的,因此出于某种原因,理论上是否有可能将任何Python程序“反编译”为C?不是翻译,而是翻译(使用程序为每个Python操作找到合适的C函数,并以语法正确的方式实现它们),而不是翻译(这将采用程序的语义并用C编写另一个执行相同操作的程序) )。

最佳答案

理论上,任何编程语言都可以翻译为任何其他编程语言。这种理论上的可能性并没有说明它有多么容易,或者是否有任何现有的工具允许您做到这一点。

算作“反编译”也是模棱两可的。例如,我可以使用boost::python并将python程序作为字符串嵌入C++程序中。现在,我有一个完全等同于该python代码的C++程序。不过,这几乎算不上是正确的翻译。

有一些翻译员无法做到的事情:

if ask_user():
    a = 1
else:
    a = "hi"
print(a)

由于编译时类型的歧义,任何等效的c程序都必须具有一些带有运行时类型信息的精心设计的数据结构。

10-01 18:10
查看更多