在linux上编译,在windows和linux上编译

我是c的新手,我已经给了一些源代码,别人写的是在

Windows上编译的.

在linux编译之后,我有错误,因为linux不支持DWORD,WORD和UINT32.我有6个文件例如. A.h,A.c,B.h,B.c,C.h,C.c.这些关键字在所有文件中.

所以我正在考虑2种可能的解决方案.哪个更好#define或typedef.

1)

typedef unsigned long DWORD;

typedef unsigned short WORD;

typedef unsigned int UNINT32;

2)

#define DWORD unsigned long

#define WORD unsigned short

#define UINT32 unsigned int

对于第二部分,我想知道我应该把这些声明放在哪里.他们应该在头文件中,还是应该在源文件中?

例如,我应该在头文件或源文件中做这样的事情?

#ifdef WIN32

/* windows stuff */

#else

typedef unsigned long DWORD;

typedef unsigned short WORD;

typedef unsigned int UNINT32;

#endif

非常感谢上述建议,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值