我们发现某些大型项目是用多种语言编写的 例如,facebook是用php和c ++编写的,android操作系统是用c,c ++和java编写的。 在右侧的以下链接中,在“书面”
之前写入了多种语言的Android = http://en.wikipedia.org/wiki/Android_(operating_system)
的Facebook = http://en.wikipedia.org/wiki/Facebook
是否有任何编译器可以执行此操作?
答案 0 :(得分:1)
有时(Facebook)你有许多不同的交互程序的系统,每个程序都可以用不同的语言编写,甚至可以在不同的机器上运行。我确信像Facebook这样的复杂网站涉及许多以不同主流和土司“语言”编写的作品。
其他时候(Android)你有一个单独的实体,其中组合了不同语言的作品。我过度简化了,但是如果你考虑一下,编译器最终会编译成机器代码,而链接器可以简单地组合这些部分。
实际上,它通常更复杂,许多语言都被解释而不是编译。要将具有复杂运行时系统(如Java,Python,Ruby等)的语言组合到一个程序中,每个案例都会有针对性的点对点解决方案。例如,Java Native Interface(JNI)是将Java嵌入到C和C ++程序中的标准机制。