摘要: errno 明面上看,是线程下全局变量,在一个线程内设置不会影响其他线程的值。man 3 errno 得知,errno 是可修改的整形左值。在 linux 中,实现方式为:errno 实际是个宏,会展开为 (*__errno_location ())。证据如下:$ cat > errno.c#include <errno.h>void f() { errno = 0;}$ gcc -E errno.c | tail -3void f() { (*__errno_location ()) = 0;}参考:http://stackoverflow.com/questions/16 阅读全文
posted @ 2013-02-25 23:28 uhziel 阅读(263) 评论(0) 推荐(0)