關於malloc的一點理解

2021-06-04 18:58:48 字數 621 閱讀 7225

在函式中使用malloc,如果是大的記憶體分配,

而且malloc與free的次數也不是特別頻繁,使用malloc與free是比較合適的,

但是如果記憶體分配比較小,而且次數特別頻繁,那麼使用malloc與free就有些不太合適了。

因為過多的malloc與free容易造成記憶體碎片,致使可使用的堆記憶體變小。

尤其是在對微控制器等沒有mmu的晶元程式設計時,慎用malloc與free。

如果需要對記憶體的頻繁操作,可以自己實現乙個記憶體管理。

今天關於動態記憶體有些理解,算是對上邊的補充與解釋記錄如下:

使用動態記憶體分配,應分不同的應用場合。

對於在作業系統上執行的程式,實際的物理記憶體分配與釋放使用作業系統來實現的,即使程式呼叫了 malloc和free物理記憶體並不會馬上變化。物理記憶體的變化,直到系統的記憶體管理操作時才發生。

對於裸機跑在mcu上的程式,分配與釋放記憶體都會造成實際物理記憶體的變化。因為此時物理記憶體的分配是由自己實現的,而記憶體管理我們自己並沒有去做。這樣,盲目的使用malloc與free恰恰並不好,反而會造成記憶體的不恰當使用。甚至於記憶體溢位。

所以,動態記憶體的使用前提是有一套好的記憶體管理方法,這樣動態記憶體的使用才會合理使用記憶體。如果沒有合適的記憶體管理**,還是用靜態記憶體好一些。

關於HTTPS的一點理解

通訊使用明文 不加密 內容可能會被竊聽。不驗證通訊方的身份,因此有可能遭遇偽裝。無法證明報文的完整性,所以有可能已經遭到篡改。https http 認證 加密 完整性保護 https是與ssl 安全套接層 組合使用的http協議 http secure 使用ssl之後,請求則變成先和ssl通訊,ss...

關於Action的一點理解

之前學習jsp,就是從網上找些jsp例項 然後模仿,再加工成自己想要的,這樣一來,好多東西都是學了一點皮毛,例如action。下面是在看書時所知道的,看完後,有種頓悟的感覺。action的主要功能是生成頁面顯示所需要的資料,頁面則負責顯示action中的所設定的資料。頁面中的標籤在獲得action所...

關於total start 的一點理解

在看c語言程式設計的一些書籍的時候,總會遇到這樣的一行類似的 total start 其實這句話是兩行 的分解,也就是說其實是這樣的 total start start 也就是說,的執行流程是這樣的,即先通過解引用得到start指標所指向的值,然後再將start指標自增。一元運算子 和 具有相同的優...