Home
Justnote
Cancel

Born2beroot ① 참고 사항

Pdf Summary 이번 과제에서는 시스템 관리 관련 연습을 합니다. Tips 가상머신 파일의 용량이 매우 큼 → 가급적 동일한 장소에서 계속 작업 클러스터에서 작업하려면 가상머신의 경로를 goinfre에 만들고 같은 자리에서만 로그인 m1 mac에서는 VirtualBox 설치 불가(UTM은 가능)...

ft_printf ③ 구현 과정 (Mandatory part)

방법 구상 printf의 format을 체크 %를 만나면 형식지정자를 확인 해당 형식에 맞는 함수를 가변인자로 들어온 값으로 호출 Mandatory : 파싱 → 출력의 2단계로 구성 Bonus : 파싱 → 처리 → 출력의 3단계로 구성 구현 과정 파싱 format 파싱 %가 나올때까지 그대로 ...

ft_printf ② 배경 지식

printf 함수 printf manual int printf(const char * restrict format, ...); 반환값 출력한 문자수 (끝의 널문자 제외) 음수값 (output or encoding error 발생 시) 서식 문자열 printf의 f는 formatted의 약자로, 서식화된 출력을 지원한다는 의미이다. ...

ft_printf ① Subject

Summary 이 프로젝트의 목표는 매우 간단합니다. printf()를 다시 코드화합니다. 당신은 가변 인자를 사용하는 것에 대해 배울 것입니다. Mandatory part libc의 printf() 함수를 다시 코딩해야 합니다. ft_printf()의 프로토타입 : int ft_printf(const char *, ...); 요구 사항은...

Get Next Line ⑤ 기타

과제 유의사항 메모리 관리 GNL 과제를 진행하며 메모리 관리의 중요성을 계속해서 느꼈다. 이전까지는 메모리공간의 사용이 복잡하지 않아 기계적으로 malloc 뒤에 free를 해주었지만 이번 과제에서는 함수를 호출하며 해당 포인터를 인수로 넘겨주거나 반환값으로 넘겨주는 경우가 있어 꼼꼼하게 관리할 필요가 있었다. backup = ft_strjoin(...

Printf Manual

C Programming Standard 7.19.6.3 The printf function Synopsis #include <stdio.h> int printf(const char * restrict format, ...); Description The printf function is equivalent to fprintf with ...

Get Next Line ④ 구현 과정

Mandatory part 과제 설명 char *get_next_line(int fd); 매개변수 fd: 읽어야 할 파일의 디스크립터 반환값 읽은 line: 한 줄을 제대로 읽는다. NULL : 더이상 읽을게 없거나 에러 발생 사용가능 외부함수 ...

Dangling pointer(댕글링 포인터)

Description 해제된 메모리 영역을 가리키고 있는 포인터 char *ptr1 = (char *)malloc(sizeof(char)); ... free(ptr1); 위의 ptr1이 가리키는 메모리 영역은 free함수로 해제됐지만 ptr1은 여전히 해당 영역을 가리킨다.(변수가 삭제되지 않았기 때문) Problem 예측 불가능한 동작 ...

메모리 구조

메모리 공간의 구분 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 힙(heap) 영역 *Heap과 Stack의 데이터 저장 방향은 운영체제 따라 다르다고 함. 메모리 해제 Data 영역: 프로세스가 종료되면 소멸함 Stack 영역: 함수 종료 시 제거됨 Heap 영역: 개발자가 직접 free !! ...

Memory leak(메모리 누수)

free(buf) 와 buf = 0 의 차이? free(buf) : 할당받은 메모리를 해제 buf = 0 : 할당받은 메모리 주소를 담고있는 buf 변수가 0 값을 갖게 됨 → memory leak!