heapalloc

    1熱度

    3回答

    我們有一個DLL(使用VC2005構建)代表調用應用程序進行一些處理。這個處理需要相當多的內存。該DLL創建通過heapAlloc這種記憶像這樣: //Allocate space myStruct* pStackSpace = (myStruct*)::HeapAlloc(m_hStackHeap, 0, sizeof(myStruct)); ... do some processing

    1熱度

    2回答

    當我打電話前面的代碼樣品中的HeapCreate功能,我使用了HEAP_NO_SERIALIZE標誌因爲 其餘的示例代碼不是多線程安全。 傑弗裏裏希特(通過C/C++的Windows) 在他的書中寫的句子,但它的怪異。 如果代碼不是多線程安全的,他不必使用該標誌。 這是一個錯誤?或者我誤解了一些東西?

    5熱度

    2回答

    所以我一直在思考PIMPL和堆棧分配。我一直在寫圖書館,並決定使用PIMPL來隱藏課程的私人成員。這意味着我會有一個這樣的聲明 class Foo { private: class Handle; std::tr1::shared_ptr<Handle> handle; public: Foo(); }; 這是非常簡單的。但隨後在構造函數中完成此 Foo::

    2熱度

    1回答

    我使用HeapAlloc分配大量的內存,如400 MB,但是當我檢查我的程序的內存使用情況時,它確實使用了1 GB。 //configuraciones.h #define ANCHO_MUNDO 5000 #define ALTO_MUNDO 5000 //unidades.cpp unidad* unidades_memoria = (unidad*)HeapAlloc(heap,

    0熱度

    1回答

    我正在處理一個處理USB設備的函數。 但是我已經在簡單的東西有一個問題: 我收到編譯器錯誤 A value of the type "LPVOID" can not be assigned to an entity of the type "PSP_DEVICE_INTERFACE_DETAIL_DATA" in the line "DevIntfDetailData = HeapAlloc(G

    1熱度

    2回答

    我有一組測試用C++/CLI編寫,調用本機DLL以遠程測試Windows CE設備。在測試設置過程的兩個點上,分配本地堆上的內存 - 一次爲512個字節,另一個爲572個字節。在這兩種情況下,malloc()最終都會使用CRT堆調用HeapAlloc()。在調用之間,CRT堆的句柄不會改變。這意味着分配572字節的調用失敗,例外0xc0000005(如果需要,我可以嘗試提供代碼示例,但必須找出哪些

    8熱度

    1回答

    哪裏是看的執行堆分配器的不同方式的優點/缺點一些好的資源?接觸效率的資源(碎片,吞吐量等)是首選。我不是在尋找簡單的代碼庫。 編輯: 我不是在這個wiki的哲學接地真正感興趣。因此,我並不想深入「爲什麼」我對此感興趣。無論潛在的意圖/問題/等,這些信息都存在,所以如果你知道任何好的資源,請在這裏鏈接到它們!

    0熱度

    1回答

    我又來了。我在c#應用程序中使用masm.dll,但現在我的代碼會拋出'System.AccessViolationException'行:INVOKE HeapAlloc, edx, 0, <size> 你能告訴我什麼原因問題? 這裏是我的ASM代碼: invoke GetProcessHeap mov edx, eax INVOKE HeapAlloc, edx, 0, dlText m

    0熱度

    2回答

    我想用HeapAlloc()來分配SetupDiGetDeviceRegistryProperty()使用的緩衝區。 裏面GetDeviceInformation()我: HANDLE hHeap = GetProcessHeap(); while (SetupDiEnumDeviceInfo(DeviceInfoSet, MemberIndex++, DeviceInfoData)) {

    1熱度

    1回答

    我正在做一個關於動態內存管理的項目。我遇到了關於HeapCreate和HeapAlloc函數的混淆。 對於HeapCreate()函數,我們可以創建一個堆並且該函數將返回一個HANDLE。我們可以初始化堆的大小。我們假設winHandle = HeapCreate(0,2 * 1024,0);我們說winHandle = HeapCreate(0,2 * 1024,0)。 然後,我可以將HeapA