Visual Studio上一些Error的解决方案总结
1.windows下调试bug
2.linux -> windows 下调试bug
- E1696无法打开源文件 unistd.h
#ifdef _WIN32
#include <unistd.h>
#else
#include <io.h>
#endif
- std::min std::max
//用下列替换:
MIN(a,b)
MAX(a,b)
- E0020 未定义标识符 “F_OK”
//直接新加宏定义
#define F_OK 0
- 无法识别标识符
S_ISDIR
、S_ISREG
linux下定义解释:
S_ISLNK(st_mode):是否是一个连接.
S_ISREG(st_mode):是否是一个常规文件.
S_ISDIR(st_mode):是否是一个目录
S_ISCHR(st_mode):是否是一个字符设备.
S_ISBLK(st_mode):是否是一个块设备
S_ISFIFO(st_mode):是否 是一个FIFO文件.
S_ISSOCK(st_mode):是否是一个SOCKET文件
解决:
//新加宏定义:
#define S_ISDIR(model) ((model) & _S_IFDIR)
#define S_ISREG(model) ((model) & _S_IFREG)