본문 바로가기

42cursus

(13)
libasm - 참고 자료 위주로 정리하기 (42seoul) 0. 프로젝트 목표 - nasm을 이용해서 libc 함수 구현하기 -> ft_strlen, ft_strcmp, ft_strcpy -> ft_write, ft_read -> ft_strdup 1. 학습 nasm을 설치하고 HelloWorld찍기 www.nasm.us/ NASM Latest version Stable 2.15.05 History Builds List Snapshots Latest, List For users of RPM-based Linux distributions (e.g. Fedora, Red Hat, SUSE, ...), you can download the official NASM builds using dnf or yum by installing nasm.repo in your /e..
cub3d - mlx사용법 위주로 정리하기 (42seoul) 0. 프로젝트 목표 - 1인칭으로 3D 미로 표현하기 (그래픽 프로젝트) - 새로운 라이브러리 minilibx에 대해서 학습하기 - raycasting에 대해서 알고리즘으로 작성하기 - users.atw.hu/wolf3d/ 처럼 만들어보기 - 결과물 1. Makefile - 기본적으로 라이브러리를 2개 사용 (libft.a, libmlx.a) - .c -> .o 로 컴파일 할때는 -I 옵션으로 헤더만 찾아주면 됨 - .o를 .exe 파일로 만들 때(링킹할 때)는 -L, -l 옵션으로 라이브러리를 묶어주면 됨 - MacOS에서는 -frameword OpenGL -framework AppKit -lz 가 필수.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21..
ft_server - 가이드 및 참고자료 정리하기 (42seoul) 0. 프로젝트 목표 - docker를 이용해서 컨테이너 생성하기 - dockerfile을 이용해서 웹서비스 구축하기 1. 키워드 Docker - 리눅스의 응용 프로그램들을 소프트웨어 컨테이너안에 배치시키는 일을 자동화 - 리눅스에서 운영 체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공 (ex. vm, vbox) - Docker container는 일종의 소프트웨어를 실행에 필요한 모든 것을 포함하는 파일 시스템 안에 감쌈 - 독립적인 컨테이너가 하나의 리눅스 인스턴스(프로세스) 안에서 실행할 수 있게 함으로 가상 머신의 부담을 줄임 Wordpress - 템플릿 시스템을 사용해서 PHP와 HTML 코드 수정없이 페이지를 편집하게 해줌 - 최고 수준의 CMS (Content Management ..
ft_printf - 초간단 정리 (42seoul) 0. 프로젝트 목표 - stdio.h 에 있는 printf와 유사한 함수 만들기 - 뉴라인버퍼를 사용하는 것은 아니고 문자열 해석해서 write함수로 찍어내기 - %[flags][width][precision][cspdixX%] 만 하기 - flag는 0과 -, specifier는 cspdixX% 만 출력하기 1. Makefile 1. libft.a를 이용해서 libftprintf.a를 만들어야 함 2. libft.a 를 컴파일 libftprintf.a로 복사 후 만든 .c파일을 libftprintf.a에 추가하면 됨 -> 그렇게 하지 않으면 libftprintf.a 만 가지고 libft.a에 있는 함수를 사용할 수 없음 -> 왜냐하면, libftprintf.a의 소스파일 중 libft.a의 함수를 사용..
get_next_line - 초간단 정리 (42seoul) 0. 프로젝트 목표 - get_next_line 함수 작성 - 파일디스크립터에서 읽고 줄바꿈전까지 문자열을 만들어 리턴 - 그 과정에서 static변수를 사용하여 문제를 해결하기 1. C언어에서의 static 변수 1 2 3 4 5 6 7 8 9 10 11 12 13 static int s_number1 = 10; void increase(void) { s_number1++; } void foo(void) { static int s_number2 = 5; s_number2++; } cs -> 초기화는 컴파일 시에 한번만 초기화 -> 즉, 어떠한 값을 런타임이 아닌 컴파일 시에 알아야 함 -> 함수안에 있어도 지역변수처럼 스택메모리에 올라가는 것이 아닌 데이터영역에 올라감 -> C의 static은 파일접근..