ANSWERS: 3
-
You can make a for loop that will try to malloc an increasingly larger chunk of memory (and then free), and when it fails, this is how much memory you have. There surely is a better (and faster) way, but this is the only way I know... Oh and this method will count the virtual memory also...
-
If you are on linux, you can read and parse /proc/meminfo.
-
You could try making a pointer and starting it at a position, say 0x0100, the starting point for .COM applications. You could continually increment this pointer, incrementing a counter variable for each location that the program is allowed to access. I'm not sure exactly how well this would work though, you'd likely crash the program trying to access a memory location outside of the correct segment, but the other two answers covered the best options. I think there was a function to find the number of bytes of free memory a computer has, but I don't remember it. It might be part of the Windows API.
Copyright 2023, Wired Ivy, LLC

by 