我的好朋友,维基百科,对这个问题没有给我很好的回答。所以:
- 什么是语言绑定?
- 它们是如何工作的?
专门从用语言 Y 编写的库的语言 X 编写的代码访问函数。
假设您创建了一个 C 库来将内容发布到 stackoverflow。现在您希望能够使用 Python 中的相同库。在这种情况下,您将为您的库编写 Python 绑定。
另见 SWIG:http ://www.swig.org
在代码库的上下文中,绑定是在两种编程语言之间架起桥梁的包装库,因此为一种语言编写的库也可以隐式地用于另一种语言。
例如,libsvn 是 Subversion 的 API,是用 C 编写的。如果你想从 Java 代码中访问 Subversion,你可以使用 libsvn-java。libsvn-java 依赖于安装的 libsvn,因为 libsvn-java 只是 Java 编程语言和 libsvn 之间的桥梁,提供了一个 API,只调用 libsvn 的函数来完成实际工作。
好的,现在问题已得到澄清,这并不相关,所以我将其移至一个新问题
绑定通常是指一个事物到另一个事物的映射——即一个数据源到一个表示对象。它通常可以指将来自数据库或类似源(XML 文件、Web 服务等)的数据绑定到表示控件或元素 - 想想 HTML 中的列表或表格、组合框或桌面软件中的数据网格。
...如果这是您感兴趣的绑定类型,请继续阅读...
您通常必须将表示元素绑定到数据源,而不是相反。这将涉及某种映射 - 即您希望数据源中的哪些字段出现在输出中。
有关几个环境中的更多信息,请参阅:
在 Flex (Actionscript 3) 中。来源
数据绑定将一个对象中的属性值复制到另一个对象中的属性。您可以绑定以下对象的属性:Flex 组件、Flex 数据模型和 Flex 数据服务。
提供数据的对象属性称为源属性。接收数据的对象属性称为目标属性。
以下示例将 TextInput 组件的 text 属性(源属性)绑定到 Label 组件的 text 属性(目标属性),以便在 TextInput 组件中输入的文本由 Label 组件显示:
<mx:TextInput id="LNameInput"></mx:TextInput>
...
<mx:Label text="{LNameInput.text}"></mx:Label>
数据绑定通常是将模型绑定到用户界面组件的简单方法。例如,您有一个具有 FirstName 属性的类。在 flex 中,您可以通过将文本框的值设置为 {Object.FirstName} 轻松将该属性绑定到文本框。然后,每次 FirstName 属性更改时,文本框都会更新,而无需您编写任何代码来监视该属性的更改。
希望有帮助。
马特