[compiler] gcc下的errno冲突

struct example
{
    ....
    int errno
};

上面的example结构使用errno做成员变量名,按理说不会和<errno.h>里的errno宏冲突,因为它在struct里,何况我根本没有包含errno.h文件
在大部分机器上,这可以编译成功。但是,在有的环境确实无法编译通过,gcc不认errno前面的“->”指针符号。
看来<errno.h>里的errno宏漏进了文件,但是怎么漏进来的?不详。
这位老兄和我遇到的问题一样: http://gcc.gnu.org/ml/gcc/2001-12/msg00766.html
但那毕竟是老gcc下的问题了,现在应该没有了。

在查到详细原因之前,还是把errno改了为妙,毕竟变量名和系统全局变量(或宏)弄成一样,是有风险的。

相关文章

分类

留言:

关于文章

This page contains a single entry by DongHao published on 01 21, 2010 6:18 PM.

未了的传奇 was the previous entry in this blog.

[shell] grep里的星号(*)和双引号(“) is the next entry in this blog.

Find recent content on the main index or look in the 存档 to find all content.