什么是语言绑定?

Dan*_*iel 42 language-agnostic glossary language-binding

我的好朋友维基百科没有给我一个很好的回答.所以:

  • 什么是语言绑定?
  • 他们是如何工作的?

具体地从用用语言Y编写的库的语言X编写的代码访问函数.

小智 28

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

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


wil*_*ell 17

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

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

  • 我很抱歉恢复这样一个旧的答案,但我想知道使用语言绑定时是否有任何性能损失?(网上查了很多资料都找不到) (4认同)
  • 所以"绑定"只是意味着它是一个"界面".只是他们没有把它称为"界面",因为它是用不同的语言."绑定"只是一个形容词,表示一种语言的相同函数调用现在由另一种语言的函数调用支持.凉!是否有任何网站可以解释如何创建两种语言之间的桥梁的实现细节? (3认同)

Gar*_*ins 5

好的,现在这个问题已经澄清了,这并不是真的相关,所以我将它转移到一个新问题

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

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

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

有关几种环境的更多信息,请参阅: