在一个项目中多种语言如何交互?

我听说有人在一个项目中用多种语言编程。我无法想象这些语言之间如何相互作用。

我的意思是没有像

myProgram.callCfunction(parameters);

永远不会发生,还是我错了?

回答:

在一个项目中使用多种语言实际上是很普遍的,但是背后的原理并不总是那么简单。

在简单的情况下,将不同的语言编译为相同的代码。例如,C和C ++代码通常被编译为机器汇编程序或C#,而VB.Net被编译为IL(.NET运行时可理解的语言)。

如果语言/编译器使用其他类型的系统,则会变得更加困难。可以有很多不同的方式,基本数据类型(例如整数,浮点和双精度)在内部表示,并且还有更多方式表示字符串。在不同语言之间传递类型时,必须确保双方将类型解释为相同,或者-如果不是,则将类型正确映射。这种类型映射也称为编组。

不同程序语言之间互操作性的经典示例如下(大部分来自Windows世界):

  • .NET平台可使用的各种语言。这包括C#,VB.Net,J#,IronRuby,F#,XSLT和许多其他较不流行的语言。
  • 用C ++或VB编写的本机COM组件可以与多种语言一起使用:VBScript,VB,所有.NET语言,Java
  • 可以从.NET或VB调用Win32 API函数
  • IPC(进程间通信)
  • Corba,可能是最全面(也是最复杂)的方法
  • Web服务和其他面向服务的体系结构,可能是最现代的方法

以上是 在一个项目中多种语言如何交互? 的全部内容, 来源链接: utcz.com/qa/427748.html

回到顶部