亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

铁力市| 获嘉县| 嵩明县| 黎川县| 乌拉特中旗| 厦门市| 江达县| 高清| 溧阳市| 平昌县| 乌拉特前旗| 静安区| 石首市| 彭阳县| 宽甸| 雷山县| 赤水市| 台湾省| 思南县| 博客| 沭阳县| 西华县| 兰考县| 英吉沙县| 景德镇市| 兴安县| 夏津县| 宁阳县| 上犹县| 岢岚县| 宜川县| 大渡口区| 连江县| 镶黄旗| 钟山县| 上饶县| 股票| 岑溪市| 同德县| 浦城县| 米泉市|