我可能会对编程有所了解。有人可以向我解释混合(多)语言编程的局限性吗?为什么编写混合语言的程序然后编译成单个exe是不可能/容易的?
问候和TIA,伊恩
答案 0 :(得分:1)
有可能吗?是
容易吗?号
让我为您选择一些今天真实部署的示例:
Firefox浏览器。它是相当独立的,并且用C ++和javascript编码。它有一个内置的JavaScript解释器,所以这是有效的。但请注意:它当然不是轻量级的!
Perl和C.实际上可以使用perl和C代码的混合,并使用perl的Par :: Packer模块将整个事件包装成一个自包含的二进制文件。但是生成的二进制文件包含一个完整的perl exe文件,其中包含脚本/程序所需的所有必需模块。它非常酷,但复杂性很高(尽管它很容易生成和使用),当然也不重量轻!
Qt的。 Qt库/工具包是一个C ++库,它还包含一个(相当新的)用于GUI的QML脚本语言,它基于javascript。它实际上允许您在高度可移植的系统中构建一个完全独立的应用程序(适用于所有内容)。
但是这些都没有使用3种语言(好吧,perl实际上可以用于多种语言,但我还没有尝试过)。
所以有可能吗?是。在上面三个中,Qt可能是“真正的功能”(和高度部署)的最好例子。但最终的系统很少简单易行。上面的大部分都有开发环境来帮助编码人员开始,因为在没有工具的情况下从头开始这样做会非常困难。
答案 1 :(得分:0)
您必须使用编译器来处理特定的编程语言。没有超级编译器可以合并来自不同编程语言的代码。对于某些编程语言,有一个运行时引擎必须运行代码(JVM,.Net框架)。