計算機系統基礎(一):程序的表示、轉換與鏈接(第十周小測驗)


1.以下是有關使用GCC生成C語言程序的可執行文件的敘述,其中錯誤的是( )。

     A.第二步編譯,將預處理結果編譯轉換為二進制形式的匯編語言程序代碼
     B.第一步預處理,對#include、#define、#ifdef等預處理命令進行處理
     C.第三步匯編,將匯編語言代碼匯編轉換為機器指令表示的機器語言代碼
     D.第四步鏈接,將多個模塊的機器語言代碼鏈接生成可執行目標程序文件

2.以下是有關使用GCC生成C語言程序的可執行文件的敘述,其中錯誤的是( )。

     A.預處理的結果還是一個C語言源程序文件,屬於可讀的文本文件
     B.每個C語言源程序文件生成一個對應的可重定位目標文件
     C.只要在鏈接命令中指定所有的相關可重定位目標文件就能生成可執行文件
     D.經過預處理、編譯和匯編處理的結果是一個可重定位目標文件

3.以下是有關鏈接所帶來的好處和不足的敘述,錯誤的是( )。

     A.使得所生成的可執行目標代碼中包含了更多公共庫函數代碼,所占空間大
     B.使得程序員僅需重新編譯修改過的源程序模塊,從而節省程序開發時間
     C.使得公共函數庫可以為所有程序共享使用,有利於代碼重用和提高效率
     D.使得程序員可以分模塊開發程序,有利於提高大規模程序的開發效率

4.以下關於ELF目標文件格式的敘述中,錯誤的是( )。

     A.可執行目標文件是ELF格式的執行視圖,由不同的段組成
     B.可重定位和可執行兩種目標文件中的數據都是二進制表示的補碼形式
     C.可重定位和可執行兩種目標文件中的代碼都是二進制表示的指令形式
     D.可重定位目標文件是ELF格式的鏈接視圖,由不同的節組成

5.以下關於鏈接器基本功能的敘述中,錯誤的是( )。

     A.將每個.o文件中的.data節、.text節和.bss節合並
     B.將每個符號引用與唯一的一個符號定義進行關聯
     C.確定每個符號(包括全局變量和局部變量)的首地址
     D.根據所定義符號的首地址對符號的引用進行重定位

6.以下關於可重定位目標文件的敘述中,錯誤的是( )。

     A.在.text節中包含相應模塊內所有機器代碼
     B.在.rodata節中包含相應模塊內所有只讀數據
     C.在.data節中包含相應模塊內所有變量的初始值
     D.在.rel.text節和.rel.data節中包含相應模塊內所有可重定位信息

7.以下關於ELF目標文件的ELF頭的敘述中,錯誤的是( )。

     A.數據結構在可重定位和可執行兩種目標文件中完全一樣
     B.包含了ELF頭本身的長度和目標文件的長度
     C.包含了節頭表和程序頭表各自的起始位置和長度
     D.包含了操作系統版本和機器結構類型等信息

8.以下關於ELF目標文件的節頭表的敘述中,錯誤的是( )。

     A.通過節頭表可獲得節的名稱、類型、起始地址和長度
     B.數據結構在可重定位和可執行兩種目標文件中完全一樣
     C.每個表項用來記錄某個節的內容以及相關描述信息
     D.描述了每個可裝入節的起始虛擬地址、對齊和存取方式

9.以下關於ELF可重定位和可執行兩種目標文件格式比較的敘述中,錯誤的是( )。

     A.可重定位目標文件中有初始化程序段.init節,而在可執行目標文件中則沒有
     B.可重定位目標文件中有可重定位節.rel.text和.rel.data,而在可執行目標文件中則沒有
     C.可執行目標文件的ELF頭中有具體程序入口地址,而在可重定位目標文件中則為0
     D.可執行目標文件中有程序頭表(段頭表),而在可重定位目標文件中則沒有

10.以下關於ELF可執行目標文件的程序頭表(段頭表)的敘述中,錯誤的是( )。

     A.描述了每個可裝入段的起始虛擬地址、存儲長度、存取方式和對齊方式
     B.通過段頭表可獲得可裝入段或特殊段的類型、在文件中的偏移位置及長度
     C.用於描述可執行文件中的節與主存中的存儲段之間的映射關系
     D..text節和.rodata節都包含在只讀代碼段,而.data節和.bss節都包含在讀寫數據段


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM