본문 바로가기
728x90
반응형

프로젝트/42Seoul17

42서울 본과정 - Pipex 📒 Technical considerationwhen23.08.12 15:00 ~내용제출 파일Makefile, .h, .cMakefileNAME, all, clean, fclean, re외부 함수access, open, close, unlink, read, write, malloc, waitpid, wait, free, pipe, dup, dup2, execve, fork, perror, strerror, exit매개변수file1 cmd1 cmd2 file2인자stack a: A list of integerslibft 사용허용📌 주의사항norm error 금지segmetation fault, bus error, double free 금지heap에 동적 할당된 메모리 해제 (메모리 누수 방지)Makef.. 2025. 4. 11.
42서울 본과정 - Push_Swap 📒 Technical considerationwhen23.07.14 15:00 ~내용제출 파일Makefile, .h, .cMakefileNAME, all, clean, fclean, re외부 함수read, write, malloc, free, exit, ft_printf매개변수읽어들일 파일의 descriptor (서술자)인자stack a: A list of integerslibft 사용허용📌 주의사항norm error 금지segmetation fault, bus error, double free 금지heap에 동적 할당된 메모리 해제 (메모리 누수 방지)Makefile 제출-Wall -Wextra -Werror 플래그 지정relink 금지 (다시 make했을 때 재실행 금지)$(NAME), all, .. 2025. 4. 11.
42서울 본과정 - So_Long (구현) 📘 구현📌 순서(1) Window 생성(2) map 생성window에 이미지 넣기map.ber 파일 읽기map 정보에 맞게 이미지 변환img 크기만큼 window 조정(3) 키 입력 이벤트키 입력 받고 출력키 입력 이벤트 받고 동작키 이동 횟수 출력map 규칙 적용종료 버튼 누르면 신호 수신 후 동작(4) map 규칙 체크 (에러 처리)지도 직사각형 아닌 경우지도 벽에 둘러싸여 있지 않은 경우지도 출구/시작지점/수집품 없는 경우지도 지정되지 않은 문자가 포함된 경우비어있는 맵이 포함된 경우출구 뒤에 아이템이 있는 경우map.ber 파일 확장자 틀린 경우(5) map 경로 확인📌 컴파일 주의iMac : cc -lmlx -framework OpenGL -framework AppKit *.cMacBook.. 2025. 4. 11.
42 Exam 📁 Exam 준비사항티켓 만들기kinit soohykimexamshell 접속// 접속examshell// 상태보기status// 채점grademe// 끝내기finishvim 설정// 경로~/.myvimrc// 라인 번호set nu// 글자 색상syntax on 📁 Exam 1 (Rank 2)When : 2023.06.26 19:00 ~ 19:40문제 : union, ft_printf📌 inter📕 문제Assignment name : interExpected files : inter.cAllowed functions: write--------------------------------------------------------------------------------Write a progr.. 2025. 4. 11.
42서울 본과정 - So_Long (개념) 📒 Technical considerationwhen23.06.16 20:30 ~ 21:3023.06.17 22:00 ~ 24:0023.06.21 19:30 ~ 01:0023.07.01 19:30 ~ 05:0023.07.02 11:00 ~ 17:0023.07.05 19:00 ~ 02:2023.07.08 13:15 ~ 17:3023.07.12 20:00 ~ 02:30내용제출 파일Makefile, .h, .c, maps, texturesMakefileNAME, all, clean, fclean, re외부 함수open, close, read, write, malloc, free, perror, strerror, exit + MinilibX 라이브러리 내 모든 함수, math library매개변수읽어들일 파일.. 2025. 4. 11.
42서울 본과정 - Get Next Line 📒 Technical considerationwhen23.06.05 월 20:00 ~ 04:2023.06.06 화 12:20 ~ 17:0023.06.09 금 20:00 ~ 02:0023.06.12 일 17:00 ~ 24:00 (평가)내용프로토타입char *get_next_line(int fd)제출 파일get_next_line.c, get_next_line_utils.c, get_next_line.hMakefileNAME, all, clean, fclean, re외부 함수malloc, free, read매개변수읽어들일 파일의 descriptor (서술자)📌 주의사항norm error 금지segmetation fault, bus error, double free 금지heap에 동적 할당된 메모리 해제 (.. 2025. 4. 11.
42서울 본과정 - Born2beroot (평가) 📕 virtual machine 동작 원리1) 개념1개의 물리적인 컴퓨터에서 여러 개의 운영체제를 구동하는 환경을 제공virtual machine은 hypervisor 위에서 동작hypervisor : 하드웨어에서 리소스를 사용하여 VM을 생성 및 관리VM의 관점 : 단일 컴퓨터 환경과 같은 경험을 제공, 접근하는 하드웨어 디바이스가 가상이라는 것을 알지 못하고, 표준 디바이스 다루는 것처럼 인식2) 장점비용 절감 (여러 가상 환경을 하나의 하드웨어에서 설치하여 물리적 인프라 설치 공간 줄임)downtime 최소화 (VM은 호스트가 예기치 않게 중단될 경우 다른 물리적 서버의 Hypervisor로 이전 가능)3) Hypervisor가상머신을 생성하고 구동하는 소프트웨어 (Virtual Machine M.. 2025. 4. 11.
42서울 본과정 - Born2beroot (구현) 📒 Technical considerationwhen23.04.26 수 20:00 ~ 03:3023.05.01 월 21:30 ~ 23:3023.05.03 수 20:30 ~ 02:0023.05.12 금 19:30 ~ 23:0023.05.19 금 20:00 ~ 01:3023.05.20 토 14:00 ~ 05:3023.05.21 일 13:25 ~ 21:3023.05.22 월 19:10 ~ 21:00 (평가)내용제출 파일signature.txtsignature.txt가상 디스크 이미지 파일의 signature 첨부📌 General guidelineVirtualBox를 통해 가상머신 생성하여 운영체제 구현Git repository의 root에 signature.txt 파일만 제출signature.txt : 가.. 2025. 4. 11.
42서울 본과정 - Ft_printf 📒 Technical considerationwhen23.04.08 토 12:00 ~ 15:3023.04.16 일 16:00 ~ 22:0023.04.19 수 16:00 ~ 01:0023.04.22 토 17:00 ~ 22:30 (평가)내용프로그램 이름libftprintf.a제출 파일.c, .h, MakefileMakefileNAME, all, clean, fclean, re외부 함수malloc, free, write, va_start, va_arg, va_copy, va_endlibft사용 가능📌 주의사항norm error 금지segmetation fault, bus error, double free 금지heap에 동적 할당된 메모리 해제 (메모리 누수 방지)Makefile-Wall -Wextra -W.. 2025. 4. 11.
42Seoul 명령어 정리 📒 Makefile1) Makefile 구성make : 주어진 쉘 명령어들을 조건에 맞게 실행하는 프로그램target : 어떤 것을 make 할 지 전달할 대상prerequisities (필요 조건들) : 주어진 타겟을 make할 때 사용될 파일들의 목록 (= 의존 파일)주어진 파일들의 수정 시간보다 타겟이 나중에 수정 되었다면 해당 타겟의 명령어 실행xrecipes (실행할 명령어) : 타겟을 make 할 때 실행할 명령어의 나열명령어 쓸 때 탭 1번 들여쓰기 필수변수$@ : 타겟 이름에 대응$$^ : dependency 파일 목록 전체에 대응$? : 타겟 보다 최신 dependency 파일에 대응$+ : $^와 유사하지만, 중복된 파일 이름까지 모두 포함$* : 타겟 이름에서 확장자가 없는 이름$%.. 2025. 4. 10.
42서울 라피신 3주차 (C07~C08) 📒 C07when23.01.23 월 10:00 ~ 22:3023.01.24 화 10:00 ~ 22:3023.01.25 수 09:30 ~ 12:001. ex00) ft_strdupstr을 malloc 사용해서 복사#include int ft_strlen(char *src){ int i; i = 0; while (*(src + i)) i++; return (i);}char *ft_strdup(char *src){ char *dest; int n; int i; i = 0; n = ft_strlen(src); dest = (char *)malloc(sizeof(char) * (n + 1)); if (!dest) return (0); while (*(src + i)) { *(dest + i) = *(s.. 2025. 4. 9.
42서울 라피신 BSQ 목표 : 장애물을 피해 지도에서 가장 큰 사각형을 찾는 것조건 : 지도가 들어있는 파일을 받고, 지도가 프로그램 인자로 전달됨가장 큰 사각형을 만들기 위해 빈 문자를 가득 찬 문자로 교체하나 이상의 방법이 존재할 경우 지도의 상단 및 왼쪽에 가장 가까운 사각형 선택프로그램은 1 n개의 파일을 매개변수로 처리프로그램이 인자에 하나 이상의 지도를 받은 경우에 각 해결 방법 또는 지도 오류 다음에 줄바꿈 들어가야함전달된 인자가 없는 경우 프로그램은 표준 입력을 바탕으로 읽기프로젝트를 컴파일할 유효한 Makefile 존재 (리링크 불가)지도 조건 : 유효한 지도의 정의모든 행의 길이가 같아야 함최소 한 개의 상자에 최소한 한 개의 행이 있어야 함행의 양쪽 끝에는 각각 줄바꿈이 있어야 함지도의 문자는 첫 번째 행.. 2025. 4. 9.
42서울 라피신 4주차 (C09, C11, C12) 📒 C09when23.01.30 월 09:30 ~ 24:0023.01.31 화 07:00 ~ 22:00📁 정적 라이브러리linking 단계에서 라이브러리 파일(*.lib)을 실행 바이너리에 포함라이브러리 동작 코드가 모두 실행 바이너리에 포함되어 별도의 추가 작업 없이 실행 바이너리 만으로 라이브러리 함수 사용gccc : object 파일 생성o : 생성 될 파일 이름 지정ar : 컴파일된 오브젝트 파일을 묶어 주는 명령어 (압축)r : 새로운 오브젝트 파일이면 추가 / 기존 파일이면 치환c : 아카이브(라이브러리 파일) 생성 (경고 메세지 출력X)u : 오브젝트 파일의 타임스탬프를 비교해 새로운 파일일 경우만 치환s : 아카이브 인덱스 생성 (링크 속도가 빨라짐)-> ranlib : object에 .. 2025. 4. 9.
42서울 라피신 2주차 (C03~C06) 📒 C03when23.01.16 월 10:30 ~ 22:3023.01.17 화 8:30 ~ 22:301. ex00) ft_strcmp두개의 문자열을 비교하여 같으면 0 반환, 아니면 음수/양수 반환 (str1- str2)int ft_strcmp(char *s1, char *s2){ int i; i = 0; while (*(s1 + i) || *(s2 + i)) { if (*(s1 + i) != *(s2 + i)) { return (*(s1 + i) - *(s2 + i)); } i++; } return (0);}2. ex01) ft_strncmp두개의 문자열을 n개만큼 비교하여 같으면 0 반환, 아니면 음수/양수 반환 (str1 - str2)(i (i + 1 size가 unsigned int.. 2025. 4. 9.
42서울 라피신 1주차 (Rush00) main.cvoid rush(int x, int y);int ft_atoi(char *str){ long long val; char *save; val = 0; save = str; while (*str) { if (*str '9') return (0); str++; } str = save; while (*str && *str >= '0' && *str 2147483647) return (0); str++; } return ((int)val);}int main(int argc, char *argv[]){ int x; int y; if (argc != 3) return (0); x = ft_atoi(argv[1]); y = ft_atoi(argv[2]); if (x == 0 || y =.. 2025. 4. 9.
42서울 라피신 1주차 (C00~C02) 📒 C00when23.01.12 목 10:20 ~ 23:00📁 별명 설정alias cc='cc -Wall -Wextra -Werror' (필수)alias norminette='norminette -R CheckForbiddenSourceHeader' (선택)📁 nominettenorminette [파일명].c (에러 없을 시 통과)📁 write (인자, 문자가 있는 버퍼 첫 주소, 문자 크기)0 : 표준 입력1 : 표준 출력2 : 표준 오류정수 입력x, 숫자를 아스키코드 이용해 출력숫자 -> 문자 : (1) '0' 더하기 (2) 48 더하기1. ex00) ft_putchar매개변수로 전달되는 문자 출력#include void ft_putchar(char c){ write(1, &c, 1);}2. .. 2025. 4. 9.
42서울 라피신 1주차 (Shell 00~01) 📒 Day1 (shell00)when23.01.09 월 11:50 ~ 22:30git clone () [새이름]압축 해제 tar -xvf1. exercise 001) 파일 생성cat > z(내용 작성) z(파일 종료) ctrl + z2. exercise 011) 파일 커미션 변경chmod 455 파일명(r-4, w-2, x-1)2) 파일 크기 변경head -c 40 /dev/urandom > testShell003) 파일 날짜/시간 변경touch -t 202306012342 testShell004) 파일 묶기tar -cf testShell00.tar testShell003. exercise 021) 심볼릭 링크 파일 생성 (원본의 정보만 저장)ln -s 원본파일 심볼릭링크파일파일 권한 변경chmod -.. 2025. 4. 9.
728x90
반응형