可重錄入與不可重錄入和ELF檔案的相關問題

2021-07-14 17:27:16 字數 728 閱讀 7364

問題(1):可重入函式與不可重入函式

滿足下列條件的函式是不可重入的:

1.函式體內使用了靜態的資料結構

2.函式體內呼叫了malloc()或者free()函式

3.函式體內呼叫了標準i/o函式

可重入函式:可以由多於乙個任務併發使用,而不必擔心資料錯誤,相反,不可重入函式不能由超過乙個任務所共享,除非能確定函式的互斥(或者使用訊號量,或者在**的關鍵部分禁用中斷)。可重入函式可以在任意時刻被中斷,稍後再繼續執行,不會丟失資料。可重入函式要麼使用本地變數,要麼使用全域性變數保護自己的資料。

問題(2):elf和bin檔案

1.bin檔案是raw binary檔案,這種檔案只包含機器碼

2.elf檔案除了機器碼之外,還包含其他資訊,如段的載入位址,執行位址,重定位表,符號表等。所以elf檔案的體積比對應的bin檔案要大

檔案的轉換

1.g通過gcc編譯出來的是elf檔案

2.通過objcpy可以把elf檔案轉換成bin檔案

elf標頭檔案學習

原名譯為「」「可執行可連線格式」一般的,我們把編譯但沒有鏈結號的可執行比如(linux下的。o檔案)稱為目標檔案。而elf檔案僅指鏈結好的可執行檔案,在elf規範中,所有符合elf規範的檔案都成為elf檔案,也成為目標檔案。

elf檔案的作用有兩個,乙個是用於構建程式,構建動態鏈結庫或可執行程式等,主要體現在鏈結過程中,二是用於程式執行,在這兩種情況下,我們可以從不同的是視角看待同一目標檔案。

c語言檔案錄入與讀取

目錄 檔案開啟 檔案資訊寫 讀 檔案關閉 開啟檔案使用fopen 函式來建立乙個新的或開啟乙個已有的檔案,這個呼叫會初始化file的乙個物件,型別file包含了所有用來控制流的必要的資訊。fopen呼叫格式 fopen 檔名,檔案使用格式 使用fropen 函式,若成功開啟檔案,返回給檔案的file...

通訊錄的錄入與顯示

通訊錄中的一條記錄包含下述基本資訊 朋友的姓名 出生日期 性別 固定 號碼 移動 號碼。本題要求編寫程式,錄入n條記錄,並且根據要求顯示任意某條記錄。輸入格式 輸入在第一行給出正整數n 10 隨後n行,每行按照格式姓名 生日 性別 固話 手機給出一條記錄。其中姓名是不超過10個字元 不包含空格的非空...

mfc學生成績錄入與查詢

1 宣告結構體 struct person 2 成績錄入 在 儲存 按鈕中實現以下 updatedata true file fopen test.txt a person person updatedata true strcpy person.name,m name in 結構體字元陣列賦值 s...