2016-07-23 35 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

變量的初始化必須全局完成,以避免每次調用該函數時變量都被實例化。