首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

gcc版本间的差异,有高手知道原因吗?同样的一段代码,高版本的gcc无法编译通过

2013-07-09 
【求助】gcc版本间的差异,有高手知道原因吗?同样的一段代码,高版本的gcc无法编译通过。#define uchar unsigne

【求助】gcc版本间的差异,有高手知道原因吗?同样的一段代码,高版本的gcc无法编译通过。
#define uchar unsigned char
#include <stdlib.h>
int main(void)
{
return 1;
}
就是上面一段代码,在uclibc gcc 3.6下可以编译通过,但是升级编译器后,在uclibc gcc 4.5环境下无法编译通过。报错信息是第一行#define uchar unsigned char与系统<sys/types.h>中的unsigned有重名。
有高手能知道这2个编译器有什么不同吗。

GCC 编译器 uclibc
[解决办法]
比较两个版本的 <sys/types.h> 看看
[解决办法]
不建议#define uchar unsigned char这样的写法,用typedef unsigned char uchar要好很多。
[解决办法]
你把uchar改个名字吧,或者去掉;因为高版本的环境中已经有uchar这样的定义了。

热点排行