在一个项目中多种语言如何交互?
我听说有人在一个项目中用多种语言编程。我无法想象这些语言之间如何相互作用。
我的意思是没有像
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