std libc funcs의 동작을 재현하려고합니다. 긍정적 인 사례 - 확인. 부정적 사례 - 확인 하지만 ... 내 부정적인 경우는 모두 "버스 오류"/ "중단"대신 "seg fault"를줍니다.seg 오류, 버스 오류, 중단
예 :
void func()
{
...
char str[3] = "nvm";
char str2[3] = "nbd";
my_strcat(str, str2);
...
}
로봇 $> 세그먼트 오류가 ./ex
void func()
{
...
char str[3] = "nvm";
char str2[3] = "nbd";
strcat(str, str2);
...
}
로봇 $> 중단 ./ex
그래서 "독방 감금 오류가"와 "중단"DIFF 무엇 ? 어떻게하면 코드를 "중단"시킬 수 있습니까?
중복 된 문자열 찾기 : 문자열 리터럴 수정. 더 나쁜 것은'strcat'을 허용하는 메모리가 충분하지 않다는 것입니다. 2 개의 특정 오류 - 포인터의 배열이 아니라'char'의 배열이어야하며, [크기] 제한은 컴파일러가 자동으로' '\ 0' '문자열 종결자를 추가하지 못하게하므로 모든 문자열 처리 함수가 실패합니다. –
코드가 변경되었습니다. * 실제 * 코드를 게시하십시오. 의견이나 대답을 부적절하게 변경하지 마십시오. [Minimal, Complete, Verifiable example] (http://stackoverflow.com/help/mcve)에 대해 읽어보십시오 - 이것은 동적 인 코드 - mod 사이트가 아닙니다. –
내 잘못, ofc 문자 배열. 그러나 나는 어쨌든 충돌 행동에 관해 이야기하고있다. 왜 libc func은 "abort"를주고 libmy func는 "seg fault"를 주는지? –