使用多种编程语言开发应用程序

时间:2017-11-04 12:07:34

标签: programming-languages

我有一个问题困扰了我一段时间,对不起,如果是菜鸟问题:
有没有办法用多种编程语言开发应用程序? 今天我在Linux上寻找视频播放器,我看到了:

  

MPV播放器:用C,Objective-C,Lua和Python编写,MPV是......

有人可以解释他们如何用多种语言编写应用程序吗? 谢谢你的帮助...

2 个答案:

答案 0 :(得分:0)

您只需要能够从另一种语言(及其实现)中编写的函数调用以一种语言(和实现)编写的函数。

lua脚本语言(和解释器)旨在轻松嵌入C应用程序中。阅读Lua手册的The Application Program Interface章节(Lua使用一些堆栈作为参数和结果)。 Guile也设计为易于嵌入,并且有一个很好的tutorial解释(你将外部函数的arity提供给Guile运行时)。

有时,您需要遵循特定的约定(取决于实现)来调用foreign function。例如,Python有一章Extending and Embedding The Python Interpreter; C ++代码需要用extern "C"注释用C编码的函数声明(或可从C调用),Ocaml的手册有一章关于Interfacing C with Ocaml等。

更一般地说,请注意calling conventionsABI s。有时,您可能希望使用libffi,这使您可以调用仅在运行时知道的签名函数。

BTW,MPV是开源的,为什么不研究source code

答案 1 :(得分:-3)