Segmentation fault의 원인을 요약하자면Dereferencing NULL pointers ! – 널포인터에 어떤 값을 대입시존재하지 않는 메모리 주소를 접근하려고 했을 경우(바깥에서 돌고있는 프로세스가 있었는데 그걸 참조했다 던지)메모리 접근권한이 없을 때
open(const char \*pathname, int oflag); pathname - 파일의 절대적 경로 또는 상대적 이름 mode - 어떤 권한(목적)으로 읽을지숙명여대 창병모 - 파일입출력 file discriptor를 integer 형태로 반환
순서오브젝트 작성gcc -c \*.car 명령 이용해서 라이브러리 아카이브 만들기flags\-r : 라이브러리 아카이브에 새로운 오브젝트를 추가할것\-c : 아카이브가 존재하지 않을경우 생성하라는 옵션 ar rc libft.a \*.o 컴파일정의인간이 이해할 수
참조
memcpy와 차이점버퍼에 복사하고 붙여넣기결과는 똑같은데안정성 면에서 더 낫다고 함.........그런가???체감은 어렵겠지;ㅁ;
반환형이 char \*이므로 return시에 str의 형변환을 해주자!
void\* ptr;타입이 정해져 있지 않음.어떠한 형태도 가르킬 수 있음주소를 저장할 수는 있지만 연산은 불가능적절한 형변환이 필요
dst와 src의 위치가 overlap 되는 경우를 고려, 뒤에서부터 한바이트씩 복사하는 memcpy
읽어보면 좋은 참조
set의 글자가 s1의 앞뒤로 없어질때까지 자르기...(무조건 앞뒤~ 다른 글자가 나오면 stop)(반복) atoi처럼 set 글자가 나오면 skip - 시작점(반복) set 이외의 글자가 나오면 set이 나올때까지 temp에 저장의문!temp 크기는 어떻게 해야 하나
참조1null pointer디펜터를 유발하여 예외사항을 추후 공격할 수 있음.그러나 나의 앞으로 코딩 학습을 위해서는 현재 libft에서 필요한 부분은 취약점에 대한 방어보다 내가 잘못된 값을 입력하는 것에 대한 방어와 오류 반환이 먼저라고 생각하기 때문에 그냥 오류가
문제점\*lst 를 직접 변경할 경우 lst의 주소값 변경이 호출된 바깥의 함수에서도 그대로 적용 -> 기존 함수 주소를 저장할 temp를 만들어주고 마지막에 lst를 temp로 초기화함수포인터활용