Dynamisch mehr als 32MB allocieren

Guten Morgen,

es wird tatsächlich "malloc" parallel zu Klassen verwendet.
Um folgende Funktion geht es:
Code:
inline BYTE* FCOXOHelper::ZeroMalloc (int nBytes)
{
#ifdef WIN32
int error=0;

    // BoundChecker can's check the memory alloc by <VirtualAlloc>
    #ifdef _DEBUG		
		BYTE   * pByte = (BYTE*)malloc (nBytes) ;
		memset (pByte, 0, nBytes) ;
		
		return pByte ;
    #else
        return (BYTE*)VirtualAlloc (NULL, nBytes, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE) ;
    #endif

#else

        BYTE   * pByte = (BYTE*)malloc (nBytes) ;
		memset (pByte, 0, nBytes) ;
        return pByte ;

#endif
}

Wie gesagt ich kann die Problematik außerhalb der Lib nachvolllziehn. Da in Sachen laden von Grafiken kein Handling von großen Grafiken vorgesehn ist, scheint auch eine entsprechende Bearbeitung nicht implementiert.

Gruß
 
Hi.

Dann ändere doch einfach den Code der ZeroMalloc Funktion so, dass eine std::bad_alloc Ausnahme geworfen wird. Die kannst du ja dann fangen und behandeln.

Gruß
 
Zurück