함수에서 다음 문자 배열을 만들었습니다.세그먼트 오류 가상 머신에서 코어가 덤프 됨
char key1[500]="";
I 인덱스를 통해 반복하고 "I"인덱스 initialIndex (글로벌 인덱스)를 통해 글로벌 변수 inputFileArray의 함수 값을 복사한다.
key1[i++]= inputFileArray[initialIndex++];
이 문은 실행시 오류 (코어 덤프 됨)가 발생합니다.
현재까지는 Visual Studio C++ 편집기를 사용하여 컴파일 한 다른 컴퓨터에서 정상적으로 작동했습니다. 13. 우분투 13.10 가상 머신에서 실행하려고하면이 오류가 발생합니다. 답을 고맙게 생각합니다.
'i'의 값이 '500'보다 낮습니까? –
본질적으로 관련 코드를 모두 생략 한 것으로 보입니다. 이는 본질적으로 대답을 불가능하게 만듭니다. –
코드가 다른 시스템에서 segfault하지 않았다고해서 인덱스가 올바른 것은 아닙니다. 배열 외부에서 프로그램에 할당 된 메모리를 가질 수 있으므로 가장자리에서 색인을 생성하더라도 말하자면 segfault는 발생하지 않습니다. 그런 다음 다른 컴퓨터에서 경계 밖으로 나가 자마자 운영 체제가 프로그램에 할당 한 메모리 외부에있을 것이므로 바지를 segfault합니다. I.E. 더 많은 코드를 제공하십시오. – evading