最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

綁定/約束 (binding)指兩個東西之間的關聯(lián)

 更新時間:2011年01月12日 19:58:35   作者:  
綁定/約束 (binding)指兩個東西之間的關聯(lián)。如 名字 與它所代表的事物。又如屬性與實體之間的關聯(lián),又或者符號與操作之間的關聯(lián)。

綁定/約束 (binding)指兩個東西之間的關聯(lián)。如 名字 與它所代表的事物。又如屬性與實體之間的關聯(lián),又或者符號與操作之間的關聯(lián)。

早期的書翻譯成約束,后期的多數稱綁定。后續(xù)都稱綁定。

綁定發(fā)生的時間稱為 綁定時間 (binding time)。

綁定 和 綁定時間 是程序設計語言中了個非常重要的概念。

綁定可以發(fā)生在語言設計時、語言實現時、編譯時、連接時、載入時和運行時。

一、語言設計時

多數語言中運算符、流程控制結構、內部類型、對象的構造形式等都是在語言設計時決定的。

如星號(*)在語言設計時與乘法操作綁定。

二、語言實現時

多數語言手冊都留下了許多問題,要求語言的實現者去仔細考慮和決定如何實現?

如基本類型的精度(取值范圍),c中的int在實現時與取值范圍綁定。

又如 棧和堆得阻止方式和最大規(guī)模。

三、編譯時

編譯器選擇了如何將高級的結構映射到機器代碼,包括靜態(tài)定義的數據在內存里的布局方式。

如java中的 變量 是在編譯時綁定于某特定的數據類型。

四、連接時

大部分編譯器支持“分別編譯”,連接器根據各模塊的情況選擇整體布局,并解決跨模塊的相互引用關系。需要由連接器把不同的模塊集合一起。

五、載入時

指操作系統(tǒng)將程序載入內存,使之能夠執(zhí)行的那個時刻。

如java程序載入后變量與一個存儲單元綁定。

六、運行時

這是個廣義的概念,它覆蓋了從程序執(zhí)行開始到結束的這個時間跨度。

如變量與值的綁定發(fā)生運行時。但許多其它決策事項的情況則根據語言的不同而不同。


綁定又分為 靜態(tài)綁定 與 動態(tài)綁定。

靜態(tài)綁定/早綁定 指在運行之前建立的綁定,且在整個程序執(zhí)行過程期間保持不變。

動態(tài)綁定/晚綁定 指在運行期間建立的綁定,且在執(zhí)行過程中可被改變。

當然,靜態(tài)與動態(tài)都是很粗略的說法。因為運行時的概念本身就很廣泛,并不嚴格。


純編譯型語言 (靜態(tài)語言),自然是早綁定的。它們效率更高,因為它們更早的做出了決策。

編譯器只對全局變量的語法語義做一次分析,即程序未運行之前完成。在那時就已確定這些變量的在內存中的布局,并生成出發(fā)問它們的高效代碼。

純解釋型語言 (動態(tài)語言),自然是晚綁定的。它們更靈活,因為它們把許多決策推遲到運行時才做。相應的其效率較低。

它可能在每次運行時分析一些聲明,甚至子程序每次調用時解釋器都要去分析局部變量。

相關文章

最新評論

神农架林区| 巴彦县| 罗定市| 北流市| 会昌县| 子洲县| 柘城县| 博客| 泰顺县| 河池市| 浮山县| 灵山县| 锦屏县| 湾仔区| 连江县| 邵阳市| 天等县| 罗田县| 绥宁县| 新乡县| 依兰县| 景谷| 沙田区| 广汉市| 红安县| 宜丰县| 正阳县| 和顺县| 延安市| 防城港市| 长沙县| 吴江市| 新闻| 盐源县| 阿拉善左旗| 滨海县| 九龙坡区| 石屏县| 万州区| 通道| 上高县|