【发布时间】:2019-01-10 02:10:11
【问题描述】:
最近我将一个windows c++程序转换为linux,我写了一个.h文件来转换一些linux没有prgram使用的类型。
#define _MAX_PATH 260 /* max. length of full pathname */
#define HANDLE int
#define MAX_PATH 260
#define TRUE true
#define FALSE false
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
typedef int BOOL;
typedef unsigned long DWORD;
typedef void VOID;
typedef wchar_t WCHAR;
typedef WCHAR *LPWSTR;
typedef unsigned char BOOLEAN;
我对windows类型不熟悉,用vs 2010选择类型然后调用F12,对吗?
【问题讨论】:
-
做对了吗?
-
@JeremyFriesner 将DWORD等类型复制到vs 2010,然后按F12查看到底是什么类型。
-
阅读文档:Windows Data Types
-
MAX_PATH是 Posix 在 Linux 上的PATH_MAX。我在 Solaris 和 OS X 等 Unix 和 Linux 上看到了高达 4096 的硬编码值。为什么不按预期的方式使用它呢? Where is PATH_MAX defined in Linux? 和 Is there an equivalent to WinAPI's MAX_PATH under linux/unix?。这是您可以通过简单搜索找到的内容。 -
@jww 谢谢,我会检查并使用它。