中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

屏南县| 平顶山市| 仁布县| 秦安县| 眉山市| 安仁县| 慈溪市| 永宁县| 松阳县| 从江县| 长白| 苏尼特右旗| 黄山市| 奉化市| 汉源县| 商南县| 长阳| 西乡县| 隆德县| 交城县| 娄烦县| 太谷县| 进贤县| 南京市| 普兰店市| 苏尼特右旗| 泰兴市| 澜沧| 彭水| 礼泉县| 文成县| 南汇区| 崇信县| 徐闻县| 中阳县| 三门峡市| 柳河县| 洪湖市| 贞丰县| 深州市| 兴宁市|