第五题:下面的程序有问题吗?如果有,请指出可能出错的地方,以及如何修改...
作者:互联网
原文链接:http://www.cnblogs.com/haylim/archive/2013/02/20/2919749.html
如题:
int main() { int a,b,c; a = inWord(0x100); /*读取I/O空间0x100端口的内容存入a变量*/ b = a; a = inWord (0x100); /*再次读取I/O空间0x100端口的内容存入a变量*/ c = a; return 0; }
但是不能说一定会出错 只是可能出错
为什么说只是可能呢 这个要看编译器了 不同的编译器优化方式不同
为了我们代码的可移植行 应该给a加上 volatile关键字
否则
int a,b,c; a = inWord(0x100); b = a; a = inWord (0x100); c = a;
很可能被编译器优化为:
int a,b,c; a = inWord(0x100); b = a; c = a;
转载于:https://www.cnblogs.com/haylim/archive/2013/02/20/2919749.html
标签:...,www,inWord,int,编译器,第五,0x100,出错 来源: https://blog.csdn.net/weixin_30509393/article/details/97377243