2016-07-23 32 views
0

在一个函数中,我有一个局部变量,它在开始时被初始化。此外,在码这个变量是“装”了随机值,以RAND()产生 它不工作,调试器告诉我:C:变量随机值调试器错误

random_color_value Failed getting location list for symbol die# 0x4b9 Error 

这是代码的一个片段:

#include <stdlib.h> 
. 
. 
. 
struct cRGB colorFade(void){  
    uint8_t random_color_value; 
    . 
    . 
    .   
    srand(2); 
    random_color_value = rand() % 12 +1; // generate random value between 1 and 12 (including 12) 
    . 
    . 
    . 
} 

我的AVR-Studio中的编译器被设置为优化大小。 什么可能导致这个问题?

+0

'uint8_t random_color_value; '这是不初始化,我不知道什么代码是'....' –

+0

嗨,好吧,变量设置,但初始化与任何值都没有区别。 其余代码对于这个问题并不重要。 – Creatronik

回答

0

变量的初始化必须全局完成,以避免每次调用该函数时变量都被实例化。