CCS工程中cmd文件的編寫

Section目標文件中最小單位稱爲塊,一個塊就是最終在存儲器映象中佔據連續空間的一段代碼或數據。

1、COFF目標文件包含三個默認的塊:

.text可執行代碼
.data已初始化數據
.bss爲未初始化數據保留的空間

2、彙編器對塊的處理

未初始化塊

                        .bss      變量存放空間
                        .usect    用戶自定義的未初始化段

初始化塊

                        .text     彙編指令代碼
                        .data     常數數據(比如對變量的初始化數據)
                        .sect     用戶自定義的已初始化段
                        .asect    通.sect,多了絕對地址定位功能,一般不用

3、C語言的段

未初始化塊(data)

                        .bss      存放全局和靜態變量
                        .ebss     長調用的.bss(超過了64K地址限制)
                        .stack    存放C語言的棧
                        .sysmem   存放C語言的堆
                        .esysmem  長調用的.sysmem(超過了64K地址限制)

初始化塊

                        .text     可執行代碼和常數(program)
                        .switch   switch語句產生的常數表格(program/低64K數據空間)
                        .pinit    Tables for global constructors (C++)(program)
                        .cinit    用來存放對全局和靜態變量的初始化常數值(program)
                        .const    全局和靜態的const變量初始化值和字符串常數,(data)
                        .econst   長.const(可定位到任何地方)(data)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章