我对c是个新手,我已经学到了一些别人写的在windows上编译的源代码。
在linux上尝试编译后,我遇到了错误,因为linux不支持DWORD和UINT32。例如,我有6个文件。A.h,A.c,B.h,B.c,C.h,C.c.所有文件中都有这些关键字。
因此,我正在考虑两种可能的解决方案。定义和类型定义哪个更好。
1)
typedef unsigned long DWORD;
typedef unsigned short WORD;
typedef unsigned int UNINT32;
2)
#define DWORD unsigned long
#define WORD unsig
当使用G++ (例如Linux上的4.5版)时,有人能解释一下如果用户为C/C++混合系统写一个头文件会发生什么/可能发生什么吗?
#ifdef __cplusplus
extern "C" {
int myCPPfunc(some_arg_list....); /* a C++ function */
}
#endif
但在这里,myCPPfunc()是一个普通的C++函数,里面有一个def类--也就是说,它被错误地标记为C函数。
这会有什么影响?