제 블로그에 방문해 주셔서 감사합니다. 오늘도 좋은하루 되세요!
1.8 C언어와 함수
C언어에서 함수란 우리가 알고 있는 수학에서의 함수 하고는 많이 달라요. C언어에서의 함수란 기능이라는 의미에 더 가까워요.
위에 그림처럼 여러가지 함수가 있어 당황하는 경우가 많아요. 하지만 얼마나 많은 함수가 쓰였건 결국에는 가장 큰 함수안에 묶여있기 마련이에요. 때문에 가장 큰 틀을 보면서 하나하나 천천히 들어가 보면 프로그램을 이해하는데 도움이 되요.
1.9 컴파일러와 링커
우리가 직접 작성하는 코드는 우리가 이해하기 쉽게 만들어지 고수준 언어이기 때문에 있는 그대로 CPU가 알아듣고 처리 할 수 없어요. 그래서 컴파일러라는 친구가 필요해요. 이 친구는 우리가 작성한 소스코드를 CPU가 알아들을 수 있는 언어로 바꿔줘요.
우리가 소스코드를 작성하고 실행되어 우리가 확인하기 까지 위의 과정을 거쳐요. 여기서 컴파일러는 아까 말했듯 우리가 작성한 소스 코드를 컴퓨터가 알아 들을 수 있는 언어로 바꿔 object 파일로 변환 시켜줘요. 그 다음 링커가 라이브러리 코드와 착수 코드에서 코드를 가져와 최종적으로 실행 파일을 만들어요. 여기서 라이브러리 코드가 뭔지 궁굼할텐데요. 우리는 일일히 기능하는 함수를 만들어 사용하기는 너무 복잡하고 번거롭죠. 예를들어 나중가서 많이 쓸텐데 우리가 화면에 어떤 단어를 출력할 때 printf 라는 함수를 써요. 근데 이 기능을 쓸때마다 함수를 직접 만들고 쓰려면 번거롭고 비효율적이겠죠. 그래서 링커가 라이브러리 코드에서 필요한 코드를 꺼내옴 으로써 효율적으로 우리는 이미 만들어진 printf라는 함수를 쓸 수 있는 거에요.
'C언어 공부(홍정모의 따라하며 배우는 C언어)' 카테고리의 다른 글
홍정모의 따라하며 배우는 C언어 [2.7~2.10] (0) | 2023.11.15 |
---|---|
홍정모의 따라하며 배우는 C언어 [2.3~2.6] (0) | 2023.11.15 |
홍정모의 따라하며 배우는 C언어[0.7~0.10] (2) | 2022.10.03 |
홍정모의 따라하며 배우는 C언어[0.4~0.6] (0) | 2022.10.03 |
홍정모의 따라하며 배우는 C언어[0.0~0.3] (0) | 2022.02.01 |