这是什么解析?
问题描述:
我刚才看到这个在bash的源:这是什么解析?
/* Force gcc to not clobber X on a longjmp(). Old versions of gcc mangle
this badly. */
#if .......
# define USE_VAR(x) ((void) &(x))
.....
我的问题是什么呢((void) &(x))
解析到?它在bash的main
使用如下:
.....
USE_VAR(argc);
USE_VAR(argv);
USE_VAR(env);
......
答
它采用的x
地址,然后将其转换为void
。结果是 - 什么都没有。
但是,编译器可能会认为,当一个变量的地址被采用时,它被“使用”了。