因此,我試圖從.s19文件中加載s-records到內存中,用於我正在處理的任務及其工作。然而,當我從我的代碼中刪除一個未使用的數組時,一切都停止工作並崩潰。刪除未使用的變量會導致代碼崩潰
未使用數組是:
char test[65536];
這是我寫的裝載機:
void loader(FILE * srec)
{
char instring[SREC_LEN];
char test[65536]; // This isn't used, but the program crashes without it for some reason
int i=0;
int j=0, k,l;
while (fgets(instring, SREC_LEN, srec) != NULL)
{
while(instring[i] != '\n') // Counts the characters in the s-record
{
i++;
}
j = j+i;
for(k=0;k<=i;k++) // Puts the records into memory
{
memory[l] = instring[k];
l++;
}
l = j;
}
#ifdef DEBUG
printf("MEMORY: %s",memory);
#endif // DEBUG
}
如果你能幫助我瞭解爲什麼發生這種情況,我將不勝感激。
似乎未定義的行爲案例。什麼是「記憶」? – haccks
'l'未初始化。和'我'需要重置。 – BLUEPIXY