No, there's no standard C function to do that. There are some platform-specific functions you can use to perform certain types of queries (like working set size), but those probably won't be helpful, because sometimes memory which has been properly free()
d is still considered to be allocated by the OS because the malloc
implementation might keep the freed memory around in a pool.
If you want to check for memory leaks, I highly recommend using a tool like Valgrind, which runs your program in a virtual machine of sorts and can track memory leaks, among other features.
If you're running on Windows, you can use _CrtDbgReport
and/or _CrtSetDbgFlag
to check for memory leaks.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…