共2条
1/1 1 跳转至页
cc2000 问一个cc2000编译时的问题

问
在函数中定义一个数组:
如 int aaa[3]={1,2,3};
这样好象并不能实现赋值,查看显示此句执行完毕后,aaa[0],[1],[2]都为0,有时侯都为5,如果是一个字符数组,可以用char aaa[3]="abc";的方式赋值.感觉上在函数中用{}的形式无法赋值,如果是一个全局型,则可以.不知道是怎么回事.谢谢指教. 答 1: 个人见解这个要考虑一个指令流水线的问题,可以试试多执行几条后面的指令 然后再看你的变量;还有如果优化级别高的话 可能调试的时候根本看不到定义的变量,可以采用volatile来避免优化. 答 2: 谢问题解决,多谢! 答 3: volatile到底是什么意思?
如 int aaa[3]={1,2,3};
这样好象并不能实现赋值,查看显示此句执行完毕后,aaa[0],[1],[2]都为0,有时侯都为5,如果是一个字符数组,可以用char aaa[3]="abc";的方式赋值.感觉上在函数中用{}的形式无法赋值,如果是一个全局型,则可以.不知道是怎么回事.谢谢指教. 答 1: 个人见解这个要考虑一个指令流水线的问题,可以试试多执行几条后面的指令 然后再看你的变量;还有如果优化级别高的话 可能调试的时候根本看不到定义的变量,可以采用volatile来避免优化. 答 2: 谢问题解决,多谢! 答 3: volatile到底是什么意思?
共2条
1/1 1 跳转至页