64bit library limited to 4GB?

I use an image processing library that throws an exception when I try to load images> 4 GB in size. He claims to be 64 bits, but can't a 64-bit library load images more than this? I think they recompiled their C libraries using a 64-bit memory / compiler model, but still used unsigned integers and failed to upgrade to use 64-bit types.

Is that a reasonable conclusion?

Change . As you might think, OS memory is so stunned that allocating large chunks is no longer possible? (This does not work right after rebooting, but just interesting). What about .NET? Can .NET managed memory become so fragmented that allocating large fragments will fail?

+3
source share
3 answers

This is a reasonable suggestion, but the exact reason could be a few things - for example, which OS are you running, how much RAM / swap do you have? An application / OS cannot overload virtual memory, so you need 4 GB (or more) of free memory to open an image.

, , 4 - .. 3,99 , 4 - , , 32- .

- . , . , , , ; , 4 4- .

, , 4--, 64- , , , .

+4

, , , .

+1

, .

,.NET .

+1

Source: https://habr.com/ru/post/1712960/


All Articles