蘇嵌實訓 嵌入式linuxC第5天

2021-10-07 22:10:11 字數 1133 閱讀 8851

專案名稱

【蘇嵌實訓-嵌入式linuxc第5天】

今日進度以及任務

學習了函式,記憶體管理,關鍵字

本日任務完成情況

基本掌握了關鍵字的用法,了解了函式書寫規範,記憶體管理的概念及相關知識

本日開發**現的問題彙總

無本日未解決的問題

無本日開發收穫

掌握的一些演算法其他無

逆置演算法

#include

"stdio.h"

#include

"string.h"

#include

"stdlib.h"

#define max_size 100

void

reverse_str

(char

*src,

int len)

}void

reverse_word

(char

*src)

else

src++;}

src = src - x;

}int

main()

1、malloc、free、記憶體池

(1)malloc實現原理?

首先挨個檢查堆中的記憶體是否可用,如果可用那麼大小是否能滿足需求,要是都滿足的話就直接用。當遍歷了堆中的所有記憶體塊時,要是沒有能滿足需求的塊時就只能通過系統呼叫向作業系統申請新的記憶體,然後將新的記憶體新增到堆中。

(2)free如何知道釋放多大的記憶體空間?

作業系統在分配記憶體的時候 同時會劃分乙個區域用於儲存分空間的首位址和記憶體分配大小,當使用者呼叫free函式的時候是 改變這個區域裡儲存的記憶體大小的值,具體記憶體空間的釋放由作業系統去完成。

(3)記憶體池實現原理?

記憶體池的思想是,在真正使用記憶體之前,預先申請分配一定數量、大小預設的記憶體塊留作備用。當有新的記憶體需求時,就從記憶體池中分出一部分記憶體塊,若記憶體塊不夠再繼續申請新的記憶體,當記憶體釋放後就回歸到記憶體塊留作後續的復用,使得記憶體使用效率得到提公升,一般也不會產生不可控制的記憶體碎片。

2、static在什麼樣的情況下使用?

3、為什麼要使用typedef給型別重新命名?

好處是能區分不同場合使用不同資料型別,讓在不同使用環境下讓資料型別變得有「具體含義」。

蘇嵌實訓 嵌入式 linux C 第5 天

專案名稱 蘇嵌實訓 嵌入式 linux c 第5 天 今日進度以及任務 學習如何寫函式及函式的相關知識,函式三要素,函式的規範,c語言的記憶體管理和記憶體池以及c語言中關鍵字,列舉和結構體的使用 本日任務完成情況 寫了乙個擷取字元的程式,學會了如何寫函式及函式的相關知識,函式三要素,函式的規範,知道...

蘇嵌實訓 嵌入式 linux C 第5 天

專案名稱 蘇嵌實訓 嵌入式 linux c 第5 天 今日進度以及任務 計算機記憶體管理 c的關鍵字的作用和使用 結構體 共同體的理解和使用 本日開發 現的問題彙總 free函式通常和malloc函式共同使用 課後自己找資料了解 今天 量不多 主要是看老師講解 本日開發收穫 上課筆記 函式 函式三要...

蘇嵌實訓 嵌入式 linux C 第 1 天

專案名稱 蘇嵌實訓 嵌入式 linux c 第 1 天 今日進度以及任務嵌入式開發概述及嵌入式linux c專案演示 嵌入式環境安裝與使用 本日任務完成情況已完成課上布置的7個小題作業,並把課上的筆記做了相應整理。本日開發 現的問題彙總1 使用目錄指令的時候用 cd.不能返回上一級目錄並且報錯,查詢...