📂

GNL

주의사항
보너스의 경우 보너스 파일을 새로 만들어야 하고 헤더로 새로 만들어서 추가를 해줘야한다.
파일 디스크립터
유닉스 시스템에 존재하는 모든 것은 파일로써 관리가 되고 이러한 파일들을 관리하고 접근할때 파일 디스크립터를 이용하게 된다.
기본적으로 할당되는 파일 디스크립터
0 : 표준 입력
1 : 표준 출력
2 : 표준 에러
우리가 생성하는 파일 디스크립터들은 3번부터 차례대로 할당
문제를 이해해보자..
Hello every one~ My name is hyson!
Plain Text
복사
위와 같은 파일을 gnl을 통해 만나면 첫 반환값은 첫 개행문자("\n")을 만나기 전인 Hello every one~ 이 출력되고 그 다음 출력을 할때에는 My name is hyson!
이 출력되게 만들어야 하는듯.
아무것도 적혀있지 않은 빈 파일을 읽었을 때 line에 할당을 해야하나?
line에 빈 문자열을 할당하고 0을 반환한다.

BUFFER_SIZE의 최대 크기는?

100만 까지는 되는데 1000만 부터는 Segmentation fault (core dumped)가 뜬다. (환경마다 다름)
> 자동변수는 stack 영역에 저장되는데, 보통 스택 사이즈가 윈도우는 1메가, 리눅스는 8메가로 설정되어있다.만약에 char buf[BUFFER_SIZE + 1];라고 선언하고 여기에 스택 사이즈보다 큰 수를 받으면 스택 오버플로우가 생길 수 있다

스택 오버플로우 피하기

1.
정적 변수로 선언하여 데이터 영역에 잡는다.
2.
전역 변수로 선언하여 데이터 영역에 잡는다.
3.
malloc 등을 사용, 동적 할당하여 힙 영역에 잡는다.
4.
시스템 설정 스택 영역 사이즈를 늘린다.
Search
제목
ContributorNotionAccount
Scrap
Thumb
create_date
heart
mentor_강의자
rich_text
todaypost
visible
간단소개
주제 / 분류
진행일 / 강의일
컨트리뷰터 그룹
태그
팔만코딩경 컨트리뷰터
2025/01/03 15:47
0
jmaing
동적으로도, 정적으로도 쓰일 라이브러리 헤더의 필수 설정!
C
42Seoul
2024/10/21 09:30
0
kyungjle
yes
독학사 4단계의 통합컴퓨팅시스템 과목을 공부하며 정리한 내용입니다
CS
42Seoul
2024/09/21 12:48
0
cheseo
배워두면 언젠가는 쓸모있을 영문 이메일 작성법
영어
42Seoul
2024/08/17 07:15
0
cheseo
no
24.4부로 생긴 alumni 제도가 궁금한 사람들을 위한 요약
42
42Seoul
2024/08/13 05:32
0
cheseo
yes
Transfer를 준비하면서 얻은 지식들을 나눠보려고 합니다
42seoul
42Seoul
2024/05/09 10:33
0
cheseo
yes
42메일로 이메일을 보내보자
42seoul
42Seoul
2024/04/08 04:46
0
dogwak
yes
프랫 파싱 알고리즘을 통해서 42의 악명높은 과제인 minishell의 파싱을 보다 쉽고 효율적으로 수행해보자.
알고리즘
42seoul
42Seoul
2024/04/05 03:30
2
seunpark
yes
이건 치팅사이트가 되지 말아야지….
Docker
42cursus
42Seoul
Docker
2024/04/04 00:22
0
shikim
yes
자료구조
42Seoul
자료 구조
키워드
2024/03/11 19:25
0
kyungjle
yes
Github Action을 이용해 norm 검사를 자동으로 수행하는 방법을 정리했습니다.
Github
42Seoul
Github
2024/03/07 05:42
0
hyunjunk
yes
Algorithm
42Seoul
2024/02/28 08:52
0
dogwak
yes
3분할 퀵정렬을 통한 push swap의 풀이와 해당 풀이가 과제의 조건을 항상 만족함에 대한 증명.
Algorithm
42cursus
42Seoul
2024/02/26 08:47
0
dogwak
yes
42school의 과제 push swap 완전정복 시리즈 그 1탄. 선형 메모리를 통한 새로운 접근과 지역성의 의미.
Algorithm
42cursus
42Seoul
2024/02/19 11:40
0
sehyan
교착상태란 무엇일까
CS
운영체제
42Seoul
운영체제
2024/02/10 19:22
0
hyunjunk
yes
C++
42Seoul
2024/01/31 13:55
0
dogwak
yes
그래프에서 연결 요소와 연결 요소를 연결하는 특별한 노드, 단절점에 대해서 알아보자.
Algorithm
Problem Solving
42Seoul
2024/01/31 05:47
0
dogwak
yes
스위핑에 기하학을 끼얹어서 먹어보자.
Algorithm
Problem Solving
42Seoul
정렬
C++
2024/01/23 17:08
0
kyungjle
yes
C에도 name space가 있다는 것을 알고 계셨나요? C언어의 식별자와 네임스코프에 대해 알아봤습니다.
C
42Seoul
C99
2024/01/22 18:18
0
sehyan, suhshin
Is Your Friend Coding Now? - Github 계정 연결
VScode
회고
42Seoul
VSCode
2024/01/22 01:34
0
kyungjle
yes
스택은 항상 높은 주소에서 낮은 주소로 자랄까요? 이것을 어떻게 확인할 수 있을까요?
C
컴퓨터구조
42Seoul
2024/01/17 00:08
0
sangyhan
no
버퍼 오버플로우 공격과 방어 방법에 대해서 소개합니다
Security
42Seoul
Security
2024/01/13 13:42
0
sehyan, ycha, suhshin
친구가 코딩중인지 감시하는 vscode 익스텐션 개발기
VScode
회고
42Seoul
VSCode
2024/01/11 10:10
0
mgo
Linux
Docker
42Seoul
2024/01/07 10:35
0
hyunjunk
yes
try/catch를 if 대신 쓰면 맞아야됨
C++
CS
42Seoul
2023/12/31 15:11
0
jijeong
no
42cursus
cpp
Algorithm
42Seoul
2023/12/31 10:39
0
dogwak
yes
PS의 한 축, 스위핑에 대해서 알아보자.
알고리즘
Problem Solving
42Seoul
2023/12/31 08:36
0
dogwak
yes
동기화를 위한 요소인 semaphore, 그 속에 등장하는 원자성에 대해서 알아보자.
Thread
컴퓨터구조
42Seoul
2023/12/31 08:30
0
kyungjle
yes
두 달 동안(???) born2beroot 과제를 하며 알게 된 키워드들을 간단하게 정리해 봤습니다.
Shell
unix
42Seoul
born2beroot
2023/12/31 01:38
0
sangyhan
yes
posix
unix
42Seoul
운영체제
2023/12/24 09:28
0
sangyhan
yes
ack, tcp, udp, packet, checksum의 개념 및 구현에 대해 다룹니다.
네트워크
signal
42cursus
42Seoul
2023/12/21 13:51
0
minjungk
yes
42seoul
42cursus
Docker
Alpine
42Seoul
Docker
2023/12/16 06:24
0
kyungjle
시그널 핸들러란 무엇인지, ‘안전한’ 시그널 핸들러를 만들기 위해서는 어떻게 해야 하는지 알아보았습니다.
unix
42Seoul
POSIX
2023/12/02 10:42
0
sanan
yes
우리 백엔드 뭐함?
개발방법론
42Seoul
백엔드
2023/11/30 11:27
0
seonggek
라플라스변환의 간단 개념과 sympy
파이썬
수학
42Seoul
파이썬
2023/11/30 10:18
0
seonggek
정렬된 배열에서 빠르게 값을 찾자!
C
알고리즘
42Seoul
알고리즘
2023/11/30 01:38
0
sangyhan
yes
Dynamic programming 기법에 대해서 소개합니다.
Algorithm
42Seoul
algorithm
2023/11/29 17:30
0
jjhang
너무나도 매력적인 공용체, 배워봅시다.
C
2023/11/30
42Seoul
c언어
자료형
공용체
구조체
2023/11/29 15:20
0
sangmiha
webGL
TypeScript
수학
42Seoul
2023/11/29 06:45
0
haeem
yes
무시무시한 쉬크릿 코테의 세계
코테
구글
코딩 테스트
Algorithm
알고리즘
42Seoul
코딩테스트
2023/11/29 03:26
0
dogwak
yes
PS 여정에서 간간이 등장하는 유니온 파인드와 그 용법에 대해서 알아보자.
알고리즘
자료구조
42Seoul
2023/11/28 03:37
0
subson
yes
자료형에 관해 새로 알게된 내용을 정리해 보았습니다.
C
42Seoul
2023/11/27 12:13
0
jjhang
프로그래밍을 처음 접하시는 분들을 위해, 구조체의 문법적 요소를 이해하는데 초점을 두었습니다.
C
42Seoul
c언어
구조체
2023/11/25 09:49
0
kyungjle
yes
initd와 systemd의 차이점, 데몬 생성법에 대해 정리해봤습니다
Linux
42Seoul
Load more