结合两种不同的语言(不是你的想法)

时间:2015-04-10 17:55:47

标签: python c python-3.x graphics

是否可以在一个项目中组合使用两种不同的编程语言?

让我举一个例子来说明我的意思:

我的主要编程语言是Python。(Python 3)

让我说我想写一个计算器, 我想用C语言构建GUI,而不是在python中构建计算器本身。 用C编写的GUI需要将用户输入的数据发送到Python代码。

有可能吗?

2 个答案:

答案 0 :(得分:1)

对于这两种语言,本指南应该包含您需要知道的几乎所有内容:

https://docs.python.org/3.4/extending/index.html

根据经验,任何好的解释和/或基于VM的语言都可以:

  • 使用与口译员相同的语言编写扩展模块。
  • 允许您将解释器嵌入到其他程序中,再次使用编写解释器/运行时的语言编写。
  • 通常,但并非总是如此,允许轻松“包装”现有的本机共享库。

这适用于Java,Python,CLR语言和Javascript,以及一些通常使用的不太常见的语言,因为它们易于扩展或嵌入(例如Lua和TCL)

混合&基于这种类型的解释和/或编译的基于虚拟机的语言通常可以通过以下事实实现:除了语言的常常“标准”C impl之外,该类别中的几乎所有主要语言都已经在每个其他语言中重新实现。 / p>

例如,Python有PyPy,Jython和IronPython。

如果所有其他方法都失败了,请运行两个单独的进程,每种语言一个,并使用类似套接字的IPC机制在两者之间进行通信。

答案 1 :(得分:0)

是。您必须将Python代码转换为c代码可以调用的DLL,这听起来是difficult but possible