2
我想寫一個可移動的方式來獲得可用磁盤空間。在Windows上,我使用GetDiskFreeSpaceEx
,而在Linux上,標頭<sys/statvfs.h>
包含我可以使用的功能statvfs64()
。如何檢查我是否可以使用<sys/statvfs.h>?
我的問題是,在哪些系統上我可以假設這個頭文件存在。有我可以檢查的宏嗎?類似於
#ifdef _MSC_VER
#include <windows.h>
#else
#ifdef STATVFS_IS_AVAILABLE
#include <sys/statvfs.h>
#endif
#endif
'sys/statvfs'是[標準POSIX](http://pubs.opengroup.org/onlinepubs/009604599/basedefs/sys/statvfs.h.html),所以它非常便攜。在這種情況下,微軟更是離羣點。 –