是否可以在一个项目中组合使用两种不同的编程语言?
让我举一个例子来说明我的意思:
我的主要编程语言是Python。(Python 3)
让我说我想写一个计算器, 我想用C语言构建GUI,而不是在python中构建计算器本身。 用C编写的GUI需要将用户输入的数据发送到Python代码。
有可能吗?
答案 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。