由std ostrstream引發的記憶體洩露問題

2021-08-30 03:29:58 字數 470 閱讀 3275

最近自己用boost asio庫寫網路伺服器端的程式, 在一小段**中用了如下的語句。

std::string foo()

在模擬客戶端訪問伺服器程式的時候,發現程序使用的記憶體隨著客戶端鏈結成線性增長趨勢,

./configue; make; sudo make install 之後,輸入命令

./valgrind --leakcheck=yes ./server arg ...

輸出報告中發現有上述函式foo()使用了ostrstream,而導致了記憶體洩露。 後經查, ostrstream用完之後需要顯示呼叫 ostrstream::rdbuf()::free(),否則會有記憶體洩露。 最後在上述foo()中,使用ostringstream替換ostrstream,問題解決。

-------------------------------------

第一次碰到伺服器記憶體洩露問題, 問題簡單,但其解決的過程受菲淺。

由使用tag 0 引發的問題

如果我們用了乙個父view,上面放了多個子view,每個子view都通過從0開始的tag值來進行標誌,以便於後期在像view上直接使用viewwithtag tag值來取各個子view 而在用 父view viewwithtag 0 取到的view,發現不是子view,而是這個父view,查詢資料發...

CSS 由 flex 1 引發的思考

首先明確一點是,flex 是flex grow flex shrink flex basis的縮寫。flex grow 屬性 定義專案的放大比例,預設為0,即如果存在剩餘空間,也不放大。flex shrink 屬性 定義了專案的縮小比例,預設為1,即如果空間不足,該專案將縮小。flex basis ...

由ESP8266引發的Cygwin安裝不完全指北

疫情在家無聊,沒有實驗室感覺手裡空空的,在小破站看到各種esp8266奇淫技巧,覺得甚是有趣,激發了我的折騰天性,遂開啟了某寶。然而又因縮家裡好幾個月,實在囊中羞澀,只好鎖定了乙個12塊錢包郵的裸機版,大眾長相 收到包裹後,插上資料線,便開始了原以為會很順利的折騰史 arduinoide emmm怎...