Makefile 정리2
·
IT/42Seoul
참고 링크 : https://www.youtube.com/watch?v=jnJL6ppn26Q 의 내용을 요약해서 정리한 내용입니다. * makefile이 필요한 이유 : 파일이 많아질수록 컴파일이 복잡해지기 때문에 1) 반복되는 컴파일 작업이 지겹고 시간이 오래 걸려서 2) 수정된 파일만 컴파일 할 수 있어서 3) 대규모 프로젝트, 공동 프로젝트에서 반드시 필요 * 컴파일 과정 : 소스파일(*.c) -> 목적파일(*.o) -> 실행파일(a.out) (바이너리) - 소스파일: vi, vscode 등의 편집기로 편집. 인간이 이해할 수 있는 프로그래밍 언어 - 목적파일: object 파일, 컴파일러를 통해 번역된 기계어 - 실행파일: 기계어 + 라이브러리를 묶는 "링킹"과정을 거쳐 만들어진 파일 cf) ma..
Makefile 정리1
·
IT/42Seoul
참고 링크 : https://modoocode.com/311 의 내용을 요약 정리해보았습니다. * 컴파일 (compile) : 소스 코드 -> 어셈블리어(컴퓨터가 이해할 수 있는 언어) 성공적으로 컴파일 시, main.o라는 목적 파일(object file)이 생성됨 예제 코드) #include "bar.h" #include "foo.h" int main() { foo(); bar(); } * 링킹 (linking) : 서로 다른 파일에 흩어져 있는 함수나 클래스들을 한데 묶어서 링크해줌, 컴파일러에 object 파일을 전달 위 코드를 컴파일 해도, main.o 외에 foo.o bar.o가 있어야 실제 함수가 작동함 (main.o 에는 foo와 bar의 코드가 없고 함수의 호출만 정의되어 있음) 따라서 ..
TIP : 코드 리뷰 잘 하는 법
·
IT/42Seoul
유튜브에서 좋은 영상을 발견하여 핵심 내용을 메모해 보았습니다. 42서울에서는 개발자들간의 커뮤니케이션과 피드백 동료학습 등을 권장하는 만큼, 코드 리뷰를 할 기회가 굉장히많다. 라피신 초반에는 낯선 환경에서 거의 한 적이 없던 코드리뷰라는 것을 진행하자니 난감했고, 제대로 된 양질의 피드백을 남기지 못한 듯한 기분이 들었다. 점점 갈수록 코드 리뷰를 하는 일에는 익숙해졌지만 스스로도 '제대로 코드 리뷰를 해주는 법'에 대해 잘 몰랐던 것 같다. 그래서 유튜브를 보는 중에 좋은 영상을 발견했고, 내용을 요약해보았다. 나도 당장 내일부터 동료평가할 떄 이 사항을 적용해보아야겠다. 코드 리뷰 잘 하는 법 리뷰받는 사람 좋은 마음가짐 : 니가뭔데내코드를 악평해? 라거나 니가무조건맞아!라는 태도는 지양 (얼린마..
[Libft] C 언어 라이브러리 구현_Part2_추가함수 구현3
·
IT/42Seoul
혹시나 문제가 된다면 바로 비공개 처리하겠습니다. 지적이나 댓글 환영합니다! 이번 포스팅에서는 이어서 part2의 함수를 구현해 보겠다. file descripter를 매개변수로 받아 write()를 사용하는 함수 4가지를 구현하였다. 주의사항이라고 적은 사항들이 대부분 내가 실수했으나 고쳐서 어떻게 해결했는 지에 대한 내용들이다. 참고로, 내가 정의한 libft.h 헤더에는 와 가 include 되어있다. 따라서 libft.h를 호출하면, 따로 정의하지 않고도 에 정의된 size_t 타입과 의 malloc/free를 사용할 수 있다. 또한 에 있는 write 함수 또한 사용할 수 있다. * fd (File descripter)란 무엇인가? 1) 시스템으로부터 할당 받은 파일을 대표하는 0이 아닌 정수 ..
[Libft] C 언어 라이브러리 구현_Part2_추가함수 구현2
·
IT/42Seoul
혹시나 문제가 된다면 바로 비공개 처리하겠습니다. 지적이나 댓글 환영합니다! 이번 포스팅에서는 이어서 문자열 관련 함수들을 구현해보겠다. 소개할 함수 3개의 공통점은 모두 동적할당(malloc)을 사용하여 편집된 문자열을 새로 만드는 것이다. 이번 함수들은 메뉴얼이 이미 과제 페이지에 영어로 상세히 적혀있는 대신, 전보다 구현이 복잡한 특징을 가졌다. 따라서 이번 시간에는 함수의 역할 대한 정리보다는 함수를 어떤 방식으로 구현했는지, 구현에서 어떤 문제들을 마주쳤고 이를 어떻게 해결했는 지 위주로 설명하겠다. (면접용 연습) 주의사항이라고 적은 사항들이 대부분 내가 실수했으나 고쳐서 어떻게 해결했는 지에 대한 내용들이다. 참고로, 내가 정의한 libft.h 헤더에는 와 가 include 되어있다. 따라서..
[Libft] C 언어 라이브러리 구현_Part2_추가함수 구현1
·
IT/42Seoul
혹시나 문제가 된다면 바로 비공개 처리하겠습니다. 지적이나 댓글 환영합니다! 이번 포스팅에서는 문자열 관련 함수들을 구현해보겠다. 소개할 함수 3개의 공통점은 모두 동적할당(malloc)을 사용하여 편집된 문자열을 새로 만드는 것이다. 이번 함수들은 메뉴얼이 이미 과제 페이지에 영어로 상세히 적혀있는 대신, 전보다 구현이 복잡한 특징을 가졌다. 따라서 이번 시간에는 함수의 역할 대한 정리보다는 함수를 어떤 방식으로 구현했는지, 구현에서 어떤 문제들을 마주쳤고 이를 어떻게 해결했는 지 위주로 설명하겠다. (면접용 연습) 주의사항이라고 적은 사항들이 대부분 내가 실수했으나 고쳐서 어떻게 해결했는 지에 대한 내용들이다. 참고로, 내가 정의한 libft.h 헤더에는 와 가 include 되어있다. 따라서 lib..