memory-management

    41熱度

    6回答

    我知道如何使用GlobalMemoryStatusEx獲取系統內存使用情況,但它告訴我整個操作系統正在使用的內容。 我真的希望我的程序能夠報告它已經分配和正在使用的內存數量。 在我的Delphi 2009程序中有沒有什麼辦法可以調用Windows函數或者某些FastMM函數來查找單獨由我的程序分配的內存? 重溫我的問題,我現在已經改變了我接受的答案被@apenwarr的GetMemoryManag

    27熱度

    16回答

    如何追蹤在C++中,特別是那些由new/delete完成的內存分配。對於一個對象,我可以輕鬆覆蓋operator new,但我不確定如何全局覆蓋所有分配,因此它們會通過我的自定義new/delete。這應該不是一個大問題,但我不知道這應該如何完成(#define new MY_NEW?)。 一旦這個工作,我會認爲足夠有一個地圖的分配指針/位置的地方,所以我可以跟蹤所有分配當前「活動」,並且 - 在

    28熱度

    4回答

    今天,我看到了一些遺留代碼。在析構函數中有一個像「delete this」的聲明。我想,這個調用將是遞歸的。它爲什麼工作? 我Y上做了一些快速搜索!我發現,如果有需要限制用戶創建堆棧對象,我們可以讓析構函數私有,並提供刪除實例的接口。在提供的接口中,我們必須在這個指針上調用delete。 是否有任何其他情況使用這些語句?

    4熱度

    3回答

    沒有討論IDisposable模式的指南/註釋/文章暗示應該在Dispose(bool)方法中將內部成員設置爲null(尤其是如果它們是內存佔用的內存)。 我在調試內部基準測試工具時意識到了它的重要性。過去發生的事情是,這個緩衝區裏面包含一個大數組。我們過去爲整個基準測試程序使用了一個靜態緩衝區。一旦我們完成了緩衝區,我們就無法釋放這個內部數組,我們也不能使這個緩衝區可釋放(因爲它是靜態的)。 所

    26熱度

    3回答

    我正在自動執行一些性能分析任務,並希望實時記錄堆空間和生成大小。 profiling API似乎非常複雜,因爲我需要,它似乎聽取個人分配和集合,這對我來說並不重要。分析工具當然是非常有用的,但我一直在尋找更靈活的可編程接口。

    3熱度

    2回答

    什麼是減少我的應用程序在內存中使用的內存量的方法?..因爲即使是30kb的應用程序也會加載〜20Mb的「不需要」的dlls.Am我誤以爲什麼時候我認爲任何.NET當我們需要一個帶有文本的表單時,應用程序需要至少10Mb的內存工作集?找不到的做任何解釋:( PS 問題是封閉的,但我建議大家感興趣的是如何CLR作品閱讀:CLR via C#

    19熱度

    5回答

    我有一個應用程序,它在運行時需要輪詢它自己的內存使用情況。如果它能夠列出每個實例化對象的內存使用情況,這將是理想的。我知道這可以通過WMI來實現,但是我希望有一些不依賴於WMI的東西。

    2熱度

    5回答

    以下結構之間有什麼區別?爲什麼更喜歡一個呢? 第一: Dim byteArray(20) as Byte 號之二: Dim byteArray() as Byte = new Byte(20) {} 任何幫助,將不勝感激。 謝謝。 編輯 - 我更正了一些代碼。 「ReDim」應該是「暗淡」。

    1熱度

    5回答

    好的,所以我第一次嘗試C++,因爲它看起來像我將不得不使用它在即將到來的大學課程。我有幾年的編程經驗,但在非垃圾收集的世界中並沒有太多。 我有一個類,一個雙向鏈表中使用的節點。所以基本上它有一個值和兩個指向其他節點的指針。主構造器看起來像Node(const std::string & val, Node * prev, Node * next)。練習包括一個複製構造函數,它執行另一個Node的淺

    26熱度

    4回答

    在我看來,我曾經在boost :: pool中玩過幾次,我正在認真地用很多對象「流失」來敲擊堆。通常我使用boost::object_pool或boost::pool_alloc作爲STL模板參數。但結果總是表現幾乎沒有變化,或明顯惡化。 我很想聽聽有關它的任何成功案例。 我應該尋找什麼樣的東西在分析輸出可能表明boost :: pool可能有幫助? 難道要改善舊的malloc真的很難嗎?