-1
我有一個程序在工作幾天後崩潰,所以我決定使用Valgrind運行它。我已經清除了所有的警告,但是這一個:有條件跳轉或移動取決於指向第一行代碼的未初始化值
==30522== Conditional jump or move depends on uninitialised value(s)
==30522== at 0x405E32: main (main.c:548)
==30522== Uninitialised value was created by a stack allocation
==30522== at 0x405652: main (main.c:80)
main.c:80
是程序的第一行:
int main(int argc, char *argv[])
{ // <- this is the line 80
我想我已經打掃乾淨了所有的錯誤,但它仍然讓我發瘋。這是怎麼回事?
listado_ips->ocr=(float)listado_ips->ocr/tiempo_milisecs; // <-line 548
在此之前幾行:
milisecs1=milisecs1-milisecs2
tiempo_milisecs=(float)milisecs1/1000;
milisecs1
被初始化。
listado_ips-> ocr =(float)listado_ips-> ocr/tiempo_milisecs; 這是行548 – Freaktor 2011-05-30 17:09:15
@Freaktor:這還不夠信息。警告消息告訴你某些東西沒有明確初始化。 – 2011-05-30 17:15:53