•
주의사항
보너스의 경우 보너스 파일을 새로 만들어야 하고 헤더로 새로 만들어서 추가를 해줘야한다.
•
파일 디스크립터
유닉스 시스템에 존재하는 모든 것은 파일로써 관리가 되고 이러한 파일들을 관리하고 접근할때 파일 디스크립터를 이용하게 된다.
•
기본적으로 할당되는 파일 디스크립터
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.
시스템 설정 스택 영역 사이즈를 늘린다.
Table
List
Search
제목
ContributorNotionAccount
Scrap
Thumb
create_date
heart
mentor_강의자
rich_text
todaypost
visible
간단소개
주제 / 분류
진행일 / 강의일
컨트리뷰터 그룹
태그
팔만코딩경 컨트리뷰터
2024/10/21 09:30
0
kyungjle
yes
독학사 4단계의 통합컴퓨팅시스템 과목을 공부하며 정리한 내용입니다
CS
42Seoul
2024/08/13 05:32
0
cheseo
no
Transfer를 준비하면서 얻은 지식들을 나눠보려고 합니다
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/03/11 19:25
0
kyungjle
yes
Github Action을 이용해 norm 검사를 자동으로 수행하는 방법을 정리했습니다.
Github
42Seoul
Github
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/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/07 10:35
0
hyunjunk
yes
try/catch를 if 대신 쓰면 맞아야됨
C++
CS
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/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/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 06:45
0
haeem
yes
무시무시한 쉬크릿 코테의 세계
코테
구글
코딩 테스트
Algorithm
알고리즘
42Seoul
코딩테스트
2023/11/29 03:26
0
dogwak
yes
PS 여정에서 간간이 등장하는 유니온 파인드와 그 용법에 대해서 알아보자.
알고리즘
자료구조
42Seoul
2023/11/27 12:13
0
jjhang
프로그래밍을 처음 접하시는 분들을 위해, 구조체의 문법적 요소를 이해하는데 초점을 두었습니다.
C
42Seoul
c언어
구조체
2023/11/25 09:49
0
kyungjle
yes
initd와 systemd의 차이점, 데몬 생성법에 대해 정리해봤습니다
Linux
42Seoul
2023/11/24 11:07
0
jijeong
yes
ford-johnson 알고리즘 으로 31개의 수를 정렬해보는 예시
42cursus
Algorithm
42Seoul
Load more