绑定、粘合代码和包装器库
Binding, glue code and wrapper library
我多次看到术语binding
、glue
和wrapper
在类似的上下文和含义中(如果我们谈论的是一些"适配器代码"(。那么这些术语中的每一个究竟是什么意思呢?是同义词吗?或者有什么区别?
binding
,wrapper
和glue
- 特别是在这种情况下 - 都是彼此的同义词,可以互换使用。
bind
,wrap
和glue
都是动词,这意味着它们是描述动作,状态或事件的词;更重要的是,它们都围绕着依恋的上下文。所以是的 - 就英语而言,它们是同义词。然而,关于编程和用于描述其中行动的书面范式可能会变得更加"灰色"。
让我们举一个例子。Directx 和 c#:
根据定义,binding
是将某物"绑住或固定"到其他物上,就像glue
一样,并且在较小(但仍然有效(的程度上wrap
。这在这个例子中是有意义的,因为dx是为c++
编写和设计的,但是有一些库wrap
c++
代码,为C#程序员提供了一个可用的库;在其中,代码binds or glues
原始c++
代码到c#
等效代码 - 反之亦然 - 允许这两个(最初不兼容的(源进行通信。
因此,在使用c#
替代方案时,我们可以访问原始c++
版本的功能(如果功能齐全(。
因此,当谈论wrapper
时,可以将基础称为binding
或glue
代码。然而 - 在我看来 - wrapper
在上下文中是一个更广泛的术语,其中包含binding
和'gluing'
的行为。
这是我的理解 - 如果有人认为我错了,请不要犹豫,纠正我。
相关文章:
- 尝试通过Process Pipe发送/接收到python包装器,c ++代码
- 在 C++ 对象包装器中安全地包含 C 代码
- 为什么我们应该在下面的代码中使用模板包装器?
- 无法使用两个包装不同下一层的ssl_stream编译代码
- 如何减少大量包装类的实现代码?
- 将代码块包装为编译时值
- 如何使用 RAII 包装返回错误代码的 C 分配
- 如何传播 NodeJS 包装C++代码的函数故障?
- 将自定义代码添加到Swig包装器中
- setuptools:从C++代码构建共享库,然后构建链接到共享库的 Cython 包装器
- 如何在 C 中创建用于使用 C++ 代码的包装器?
- 使用带有 MEX 包装器的帮助程序 C 文件从 MATLAB 2016 调用C++代码时出现问题
- AccessViolationException从托管C (ASP.NET的包装器)调用本机C 代码
- 用python包装C++代码(手动)
- 如何创建一个仅包含 C 代码包装C++代码的 .so 文件 - 与 OpenCV 相关
- 如何在SWIG包装C++代码中向目标语言(特别是Python)添加替代构造函数
- 如何为IronPython访问包装c++代码?
- 包装C++代码的问题
- typedef不适用于SWIG (python包装c++代码)
- 为另一个程序包装代码/类