본문 바로가기

전체 글19

printf 자료조사 Variadic function Variadic function : function that takes a arbitrarily many argument. "The C function printf and the Common Lisp function format are two such examples. Both take one argument that specifies the formatting of the output, and any number of arguments that provide the values to be formatted."[1] Variadic functions can expose type-safety problems in some languages. high-severity secu.. 2020. 7. 6.
get_next_line(mandatory) 1.BUFFER_SIZE는 내가 가지고 있는 양푼의 크기. 한줄에 얼마나 많은 글자가 들어가있을지 알 수 없기 때문에 동적할당으로 해결해야한다고 생각했다. 2.Static value를 전역변수처럼 사용하고 있음. 구현방법 1.(sujung, kylee) buffer는 지역변수로 두고, get_next_line함수에서 개행이전까지는 return하고, 개행이후에 string은 동적할당으로 저장해둔다. -> 일회용 주사기로(buffer)에 피를 빨고, 100ml 정량은 내보내고(*line = ft_strdup(sub_buffer)), 나머지양은 임시 저장해둔다(함수에서 계속 쓰기 때문에 static으로 두어야함) 구현방법 2.✅ buffer를 정적변수로 두고, buffer에 개행문자가 들어갈 경우, 그 만큼을.. 2020. 7. 2.
프로세스의 메모리, 파일 입출력함수 get_next_line을 구현하기 앞서서 문자출력에 관한 원리와 함수들을 이용해보고 장단점을 느껴본다. 1. 정적변수(wiki) "기억 장소가 콜 스택에서 할당 및 할당 해제되는, 수명이 더 짧은 자동 변수(지역 변수가 일반적으로 자동임)와는 반대되는 개념이다. 즉, 기억 장소가 힙 메모리에 동적 할당되는 객체와 반의어이다. 정적 메모리 할당은 일반적으로 관련 프로그램을 실행하기 앞서 컴파일 시간에 메모리를 할당하는 것을 일컬으며 이는 메모리가 런타임 중에 필요할 때 할당되는 동적 메모리 할당이나 자동 메모리 할당과는 다르다."[1] 위 그림에서도 보듯이, 전역변수와 정적변수는 프로그램이 끝날 때 까지 메모리가 유지된다. 둘의 차이점은 정적변수는 함수내에서만 호출하여 사용할 수 있다. 전역변수와 정적변.. 2020. 7. 1.
Library 연결하기 1. makefile과 libft.a의 활용 다시 project 1으로 돌아와서, 라이브러리 활용에 대해서 복습해보았다. library이 종류는 stationary(.a), shared(.so) 두가지가 있다. 정적라이브러리는 무거운대신 빠르고, 공유라이브러리는 가벼운대신 느리다. https://d-yong.tistory.com/5 2. "ar"은 archive의 약자로 정적라이브러리를 만드는데에 이용한다. rsc 는 옵션이고, s옵션은 ranlib와 같다고하는데 정확히 모르겠다. (-s : Regenerates the external symbol table regardless of whether the command modifies the archive.) https://www.ibm.com/suppo.. 2020. 6. 30.