91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言的編譯模式是什么

發布時間:2020-07-03 11:48:03 來源:億速云 閱讀:711 作者:Leah 欄目:編程語言

c語言的編譯模式是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

什么是編譯模式?

編譯模式是指如何在內存中放置程序代碼及數據,如何分配堆棧,并確認占用的內存大小及如何存取它們,當指定內存模式(編譯模式)以后,語言編譯程序將按事先選擇好的內存模式編譯組織程序。

C語言中提供了6種編譯模式,這6種模式是:微模式(Tiny),小模式(Small),中模式(Medium),緊湊模式(Compact),大模式(Large)和巨模式(Huge)。用戶可以按照自己的程序大小及需要進行選擇。

C語言編譯模式—微模式(Tiny)--near指針

在微模式下程序中的數據及代碼均放在同一段內,即它們不超過 64KB。在微模式下代碼段、堆棧段和數據段的段地址均相同,即CS=DS=SS=ES。

C語言編譯模式—小模式(Small)

在小模式下,程序中的代碼放在64KB的代碼段內,數據放在64KB的數據段內。在小模式下,棧段、附加數據段和數據段均指向同一地址,它們合三為一,即DS=SS=ES,指針都是near,一般程序均采用小模式編譯。

C語言編譯模式—中模式(Medium)

在中模式下,所有數據放在64KB的數據段內,因而數據段內使用near,代碼量可以大于64KB(允許達到1MB),因而可以在不同的代碼段內,代碼段使用(far遠程指針)。來自不同源文件的碼模塊放在不同的碼段內。

C語言編譯模式—緊湊模式(Compact)

在緊湊模式下,數據量超過64KB時,可放在多個數據段中,數據段內的指針是(far)。代碼量不超過64KB,在一個段內,因而代碼段內指針為近程的(near)。但在該模式下,靜態數據仍不能超過64KB,堆用far指針來存取。代碼、靜態數據、堆棧、堆各有自己的段。堆只有遠堆,沒有近堆。

C語言編譯模式—大模式(Large)

大模式下,代碼及數據均采用far指針,且都可達到1MB。靜態數據、堆棧、堆同緊湊模式,代碼同中模式。靜態數據仍跟緊湊模式一樣,不能超過64KB。

C語言編譯模式—巨模式(Huge)

巨模式下,代碼段及數據段均用far指針,代碼分布在不同的代碼段內,數據也分布在不同的數據段內,它們來自不同的源程序,大堆棧只有一個。而且靜態數據大小允許超過64KB。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邵东县| 宜兰县| 改则县| 甘德县| 根河市| 普洱| 西平县| 吴江市| 通河县| 阿克陶县| 平罗县| 宁乡县| 格尔木市| 苍溪县| 大庆市| 库尔勒市| 芦溪县| 丹阳市| 隆昌县| 新建县| 石泉县| 山东| 南开区| 犍为县| 麦盖提县| 陈巴尔虎旗| 和平县| 原阳县| 德州市| 芜湖县| 洛浦县| 开阳县| 分宜县| 棋牌| 靖远县| 镇巴县| 佛冈县| 平阴县| 左权县| 揭西县| 乌兰县|