Buffning
2006-08-14 21:40:09 UTC
I'm trying to take in large amounts of data (100mB) very quickly
(>100kHz) using a 6533 PCMCIA card and c++. The card/computer
can't keep up with the speed if the data is written to a file during
input. THerefore, I'm trying to keep all the data in RAM until it
is done transferring data and then save it to the harddrive. I
have >200 MB of RAM free (should be enough?), yet it DIG_BLOCK_IN is
giving me error 10444, a memory full error when I pass it an array of
only 32 MB. The error doesn't come when I allocate the memory,
but many lines of code later when I call DIG_BLOCK_IN. Does
DIG_BLOCK_iN allocate more memory? How much more? Or is
there a memory limit to the function? The documentation makes it
seem that you can pass any array of length less than 2^32-1 or the size
of count.
(>100kHz) using a 6533 PCMCIA card and c++. The card/computer
can't keep up with the speed if the data is written to a file during
input. THerefore, I'm trying to keep all the data in RAM until it
is done transferring data and then save it to the harddrive. I
have >200 MB of RAM free (should be enough?), yet it DIG_BLOCK_IN is
giving me error 10444, a memory full error when I pass it an array of
only 32 MB. The error doesn't come when I allocate the memory,
but many lines of code later when I call DIG_BLOCK_IN. Does
DIG_BLOCK_iN allocate more memory? How much more? Or is
there a memory limit to the function? The documentation makes it
seem that you can pass any array of length less than 2^32-1 or the size
of count.