什么是IDL,互操作性,可移植性?

时间:2013-10-16 17:20:43

标签: api interop portability idl

任何人都可以用简单的方式告诉我关于以下条款

1-IDL接口定义语言 2-互操作性 3,便携性 4-API

提前谢谢

1 个答案:

答案 0 :(得分:0)

互操作性通常只是意味着系统的设计方式使得其他系统可以与之通信(将信息发送到存储/处理,从中请求信息,或两者兼而有之。)

IDL是一种元语言,允许程序(dll等)描述其输入和输出 - 它是接口定义语言,因为它提供了一个接口。存在许多特定的实现,但它们在功能上非常相似,大多数在语法上相似,并且它们“全部”完全是声明性的(它们指定具有输入和输出的函数的名称,但不指定那些函数的'')做'')。它们通常专门用于通过RPC调用函数。

API比这更通用 - IDL可以指定API,但是Web服务(SOAP或REST)或者一个应用程序,dll等的任何其他方式也可以在另一个中调用函数。 “抽象”仅仅意味着 - 它只是具有一个接口来调用一组相关函数而不知道或关心它们的实现的概念。它完全与语言无关。

可移植性是一个不同的概念 - 通常意味着能够在不需要大量工作的情况下在不同平台上编译或运行程序。当然,如果API消除了平台差异,API可以帮助解决这个问题。例如,如果你想将磁盘中的图像读入内存,那么你在Windows与Linux上的表现方式会有所不同,在Windows 8与Windows 95上有所不同,x64与同一操作系统的x86版本可能略有不同。如果有人给你包装器,以便你可以根据你的平台编译或链接到不同的文件,这样你总是可以在你的代码中调用相同的函数并获得相同的数据而不管平台如何,这些函数本身就是API,包装器将是API的实现,您的代码将被视为可移植的。