什么是语言绑定?

时间:2008-08-25 11:13:30

标签: language-agnostic glossary language-binding

我的好朋友,维基百科,didn't give me a very good response这个问题。所以:

  • 什么是语言绑定?
  • 它们如何运作?

专门用用Y语言编写的库的语言X编写的代码访问函数。

4 个答案:

答案 0 :(得分:25)

假设您创建了一个C库来将内容发布到stackoverflow。现在您希望能够使用Python中的相同库。在这种情况下,您将为您的库编写Python绑定。

另见SWIG:http://www.swig.org

答案 1 :(得分:17)

在代码库的上下文中,绑定是在两种编程语言之间桥接的包装库,因此为一种语言编写的库也可以隐式使用在另一种语言中。

例如,libsvn是Subversion的API,用C语言编写。如果要从Java代码中访问Subversion,可以使用libsvn-java。 libsvn-java依赖于正在安装的libsvn,因为libsvn-java只是Java编程语言和libsvn之间的桥梁,提供了一个只调用libsvn函数来完成实际工作的API。

答案 2 :(得分:5)

好的,现在这个问题已经澄清了,这并不是真正重要的,所以我将它移到a new question

绑定通常是指一件事物到另一件事物的映射 - 即数据源到演示文稿对象。它通常可以引用从数据库或类似源(XML文件,Web服务等)到表示控件或元素的绑定数据 - 在桌面软件中的HTML,组合框或数据网格中的思考列表或表格。

...如果那是您感兴趣的那种约束,请继续阅读......

您通常必须将表示元素绑定到数据源,而不是相反。这将涉及某种映射 - 即您希望在输出中显示数据源中的哪些字段。

有关几种环境的详细信息,请参阅:

答案 3 :(得分:0)

在Flex(Actionscript 3)中。 Source

数据绑定将一个对象中的属性值复制到另一个对象中的属性。您可以绑定以下对象的属性:Flex组件,Flex数据模型和Flex数据服务。

提供数据的object属性称为source属性。接收数据的object属性称为目标属性。

以下示例将TextInput组件的text属性(source属性)绑定到Label组件的text属性(目标属性),以便TextInput组件中输入的文本由Label组件显示:

<mx:TextInput id="LNameInput"></mx:TextInput>
...
<mx:Label text="{LNameInput.text}"></mx:Label>

数据绑定通常是将模型绑定到用户界面组件的简单方法。例如,您有一个具有FirstName属性的类。在flex中,您可以通过将文本框的值设置为{Object.FirstName},轻松地将该属性绑定到文本框。然后,每次FirstName属性更改时,文本框都将更新,而不需要您编写任何代码来监视该属性的更改。

希望有所帮助。

马特