綁紮檢視原始碼討論檢視歷史
綁紮 |
中文名 :綁紮 |
綁紮(Binding)是指創造一個簡單的參考(reference),並將它指向一個更複雜更巨大的結構以利後用。 此簡單參考可以替代此巨大結構,在之後的程序中輕盈地使用。[1]
簡介
在計算機科學中,所謂的綁紮(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允許使用者自訂宏,以簡化使用者的操作步驟,並將此宏與某些命令名稱綁紮在一起。
控制流程綁紮
在電子遊戲中所謂的流程綁紮,指的是將任何鍵盤按鍵與特定功能結合,而覆蓋其原本的鍵盤功能。一個擁有複雜控制接口的遊戲,例如絕對武力,可以依靠一串特定的按鍵以縮短複雜功能的輸入(例如遊戲內通訊)。