想见识见识volatile的魅力
就是想看看有volatile和无它的不同,就小试了一下:
不我更想看到的是这种的,让编译器给它优化掉,然后出错误,但是输出的还是6,5。以前看代码也看到有主动加volatile,但是记忆不深刻就想见识见识没有它,出错误的例子。
//hello.c
#include <stdio.h>
int a = 6;
int main()
{
//int a = 6;
printf("a = %d\n", a);
change_a();
printf("a = %d\n", a);
return 0;
}
//hello2.c
extern a;
void change_a(void)
{
int *p = &a;
*p = 5;
}