Wednesday, 15 February 2012

c++ - Resizing QByteArray throws std::bad_alloc when only using 600 MB of memory -


I'm new to QT and some big files need to be loaded and processed. Instead, I'm running out of memory the following code shows my problem:

  QByteArray mem; For (int i = 1; i   

I'm getting studs :: bugle when it reaches 600MB. I really should not do that. Is there a secret switch to increase the size of the pile?

I'm using Qt 5.0.2 on Windows and the Visual C ++ 10.0 X86 compiler.

On the Windows 32 bit process, there may be 2 GB heap memory. If there is not an equal block in this memory that is enough to control your Beatierre, then you have to face a bad allocation exception.

MSVC knows and linkser options.

You can check if any changes will affect the number of bytes that you can allocate at one time.

On my X64 machine / executable, / compiled with machine: MSVC2012 throws a bad allocation exception for a single allocation; = 1200 MB

If I add / LARGEADDRESSAWARE to the command line in the link line, then the program will continue until it crashes after 2100MB of food .

If I compile using the machine / machine: Instead, the X64 process without any exception blocks 8,000 MB (maybe even more, but I tested up to 8 GB). < / P>

1 comment:

  1. Giuseppe: C++ - Resizing Qbytearray Throws Std::Bad_Alloc When Only Using 600 Mb
    Of Memory - >>>>> Download Now

    >>>>> Download Full

    Giuseppe: C++ - Resizing Qbytearray Throws Std::Bad_Alloc When Only Using 600 Mb
    Of Memory - >>>>> Download LINK

    >>>>> Download Now

    Giuseppe: C++ - Resizing Qbytearray Throws Std::Bad_Alloc When Only Using 600 Mb
    Of Memory - >>>>> Download Full

    >>>>> Download LINK as

    ReplyDelete