面試中遇到的有趣的小問題

2021-08-09 04:42:19 字數 651 閱讀 6332

頻繁的malloc與free會造成記憶體碎片化的問題,從而無法進行大容量記憶體的分配,當然,有的庫對此進行了優化,比如glibc,free掉的記憶體不會立即返還給作業系統,而是先給空閒記憶體鍊錶,然後當再次進行malloc時會先從空閒記憶體鍊錶中尋找合適的記憶體塊。可以看看這個: 當然還可以使用記憶體池。

demo.h

#include 

int main(

demo.cpp

)

答案是能執行,我們需要重新回憶一下c/c++的編譯步驟,「首先是預處理階段,這個階段,編譯器以c檔案作為乙個單元,首先讀這個c檔案,發現標頭檔案,就會在所有搜尋路徑中尋找這兩個檔案,找到之後,就會將相應標頭檔案中再去處理巨集,變數, 函式宣告,巢狀的標頭檔案包含等,檢測依賴關係,進行巨集替換,看是否有重複定義與宣告的情況發生,最後將那些檔案中所有的東東全部掃瞄進這個當前的c檔案中,形成乙個中間c檔案」。到這裡結果就很清楚了,程式為什麼能編譯執行

很經典的一道題目,想到了一切好說,想不到就gg,別人已經總結得很好了,我就不再搬一次磚了,請參看:

html 中遇到的小問題

html 如果輸入的內容長度大於 長度 那麼 也會跟著拉長,設定固定寬度後 輸入超長內容 仍然會拉長 解決辦法 獲取下拉列表的值 獲取下拉列表選中項的文字 function getselectedtext name 獲取下拉列表選中項的值 function getselectedvalue name...

easyui中遇到的小問題

工作的時候遇到一些小問題,下面記錄一下 1 獲取系統當前時間 獲取系統當前時間 function getnowformatdate if strdate 0 strdate 9 var currentdate date.getfullyear seperator1 month seperator1 ...

開發中遇到的小問題

1 多種資料庫型別時如何轉換字串排序,甚至是替換字元,可以使用cast replace column,as decimal select cast replace column,as decimal from table order by cast replace column,as decimal...