绑定

✍ dations ◷ 2025-12-07 08:51:01 #计算机科学

在计算机科学中,所谓的绑定(Binding)是指创造一个简单的参考(reference),并将它指向一个更复杂更大的结构以利后用。此简单参考可以替代此巨大结构,在之后的程序中轻盈地使用。

下列的行为可视为绑定的范畴。

语言或名词绑定指的是库如何与应用程序链接,以及编译器/解释器如何管理链接符号(变量名称)。

这些名词在编程语言表示利用先前指定的变量符号来指涉数值。在这样的情境下,绑定是一种将机器记忆空间的位置与变量或符号产生关连的行为。此种关连要不是在编译时间产生,此种关连称为静态链接(Static linking);或者是在运行期机动产生,则称为动态链接(Dynamic linking)。

链接与绑定有时是同样意思。例如真实生活中的动态链接,指的是某人知道要在某时某地做事,但是他并不想查地址或找地图,直到事情的期限要到了才开始查找。模拟于程序运行面,则是当一程序运行时(也许已运行很久),此程序至此时才得到对应的存储器位置,并运行此位置的函数,此称运行期绑定。

动态链接库(例如Windows的.dll文件,Linux上的动态库)是典型的运行期绑定库。它们称做晚绑定(对比于早绑定,或称编译时期绑定)。由于晚绑定只会在程序第一次需要相关函数支持时才会导入(若此程序从未调用相关函数,则此绑定行为就不会引导),因此此类绑定策略也称懒惰绑定。

Windows、Unix与Linux操作系统为了节省存储器以及程序大小,通常将晚绑定视为默认选项。若是要使用早绑定,通常要在编译时间时就决定;此决定会让产出的程序变得较大(因为他将所有用到的库都一起编入程序中),但是可携性较强(可以避免其他电脑没有安装所需库的风险)。

早绑定有一项额外的特质,它避免了在晚绑定中,更新库却造成程序无法运行的窘境。

命令绑定,通常指称键盘宏,或简称宏,通常是用在专业应用程序中。很多情况下,键盘按键与指令之间的绑定可以修改或增加,但通常无法移除。

许多命令绑定都非常有名,例如Mac OS的存储功能可以用Command-S按键组合来达到,因此每当用户要存储文件时,可直接按Command-S达到功能,而非每次都从菜单选取。Emacs文字处理软件提供了Control-X再按Control-C达到存储再关闭本软件的功能。另外,最为恶名昭彰的按键宏应该是Windows死机时的Control-Alt-Delete按键了。

某些软件,例如微软Excel允许用户自定义宏,以简化用户的操作步骤,并将此宏与某些命令名称绑定在一起。

在电子游戏中所谓的流程绑定,指的是将任何键盘按键与特定功能结合,而覆盖其原本的键盘功能。一个拥有复杂控制接口的游戏,例如绝对武力,可以依靠一串特定的按键以缩短复杂功能的输入(例如游戏内通信)。

相关

  • X-连锁淋巴增生症X连锁淋巴细胞增生性疾病(X-linked lymphoproliferative disease),又名邓肯病(Duncan's disease):86或珀蒂洛综合征(Purtilo syndrome),是一种淋巴增生性障碍(英语:lymphoproliferativ
  • 帝鳄帝鳄属(属名:Sarcosuchus)又称为肌鳄、帝王鳄,意思为“肌肉鳄鱼”,是种已灭绝鳄类。它们生存在于早白垩纪的非洲,是曾经存活过的最大型鳄类动物之一。它几乎是现今咸水鳄的2倍大,重
  • 大波士顿地区大波士顿是指马萨诸塞州紧靠波士顿的地区。都会区总人口约440万,列美国第11位。人口普查办公室按照美国行政管理和预算局的基于核心的统计区域(英语:Core Based Statistical Ar
  • 狗鱼见内文狗鱼科为辐鳍鱼纲狗鱼目的一科,其下仅有一属狗鱼属,包括7种。本科鱼类分布于北美洲及欧亚大陆淡水区域。本科鱼体延长,吻端尖,尾鳍分叉,侧线完整且连续,具8个或更多眶下管;鳃
  • 台糖台北仓库坐标:25°01′59.66″N 121°29′41.06″E / 25.0332389°N 121.4947389°E / 25.0332389; 121.4947389台北制糖所,是一所曾经存在于台湾日治时期的蔗糖制造工厂,位于台北厅古
  • 黄道蟹派黄道蟹总科(学名:Cancroidea)是短尾下目下的一个总科,原来有六个科,现时只有近圆蟹科和黄道蟹科两个科。黄道蟹总科之下现时只有两个科黄道蟹总科原来有六个科,除了上述两个科以外
  • 科尔马包围战(1944年-1945年)科尔马包围战(法语:Poche de Colmar ; 德语:Brückenkopf Elsaß )发生于二战末期的西方战线,1945年1月下旬到2月初,德国第19集团军在法国阿尔萨斯的科尔马被法国第1
  • 中区 (巴西)中区(葡萄牙语:Mesorregião)是巴西各州下的一种区划,它们在2017年被废除,取而代之的是“中间地理区域”。中区由巴西地理统计局(英语:Brazilian Institute of Geography and Stati
  • 巴图塔站巴图塔站是位于内蒙古自治区鄂尔多斯市伊金霍洛旗巴图塔的一个铁路车站,邮政编码17205。车站建于1989年,有包神铁路经过该站,现仅办理货运,不办理客运业务。车站距离包头东站154
  • 施皮茨施皮茨(瑞士德语:Spiez)是瑞士的城镇,位于该国中部图恩湖南岸,由伯恩州负责管辖,面积16.69平方公里,海拔高度607米,是热门的旅游地点,2010年人口12,475。