본문 바로가기

반응형

분류 전체보기

(159)
make 는 무엇이며 왜 사용하는 것일까 2 안녕하세요. WH 입니다. 오늘도 다시 하나하나 정리해 볼까요? make는 프로그램 그룹을 유지하는 데 필요한 유틸리티인데요, make 유틸리티의 목적은 프로그램 그룹 중에서 새롭게 컴파일 되는 부분을 자동으로 판단하여 재컴파일 합니다. 즉, make는 입력 파일이 바뀌면 자동적으로 결과 파일이 바뀌길 원할 때 사용합니다 잠깐 복습하고 갈까요? Makefile은 위와 같은 규칙들의 나열이며, target 부분은 command가 수행되어 나온 결과를 저장하기 때문에 object file이나 실행 파일이 됨을 생각해 볼 수 있겠지요, command 부분에 정의된 command들은 TAB으로 시작하며 dependency 부분에 정의된 파일이 바뀌었고나, target에 해당하는 파일이 없을 때 차례대로 실행하는..
make 는 무엇이며 왜 사용하는 것일까1 안녕하세요, WH 입니다. make 에 대해 알아보는 글입니다. 바로 전 글에서 compile 과정에 대해서 설명했었는데요. compile 과정은 여러개의 소스코드를 목적 파일을 만들고 해당 목적코드들을 링크하여 실행파일을 만든다고 설명했었습니다. 그런데 이런 생각을 해볼까요? 기능별로 코드를 짜다보니 소스코드 파일이 100개를 만들었다고 해봅시다. 힘들게 힘들게 하나하나 목적파일을 생성하고 링크해서 실행파일을 만들었어요. 그런데, 해당 파일에 문제가 생겨서 파일을 다시 컴파일을 해야한다고 가정해볼까요? 100개를...다시 ..목적파일 만들고.. 링크하려면.. ㅎㅎ 이런 문제를 해결하기 위해 make를 사용합니다. make는 무엇일까요? make 파일 간의 종속 관계를 파악하여 makefile에 적힌 대..
c언어 컴파일 과정 안녕하세요. 매일이 새롭고 싶은 WH 입니다. 컴파일 ' 기계어로 번역해주는 과정 ' 참 간단합니다. 컴파일 과정은 반드시 알고 있어야하는 과정입니다. 왜냐고요? 파일간의 관계를 파악해야하거든요. 가장 유명한 hello.c를 가지고 그 과정을 낱낱히 분석해봅시다. hello.c 파일 #include int main(int argc, char **argv) { printf("Hello World\n"); return 0 ; } 들어가기 앞서 정리하고 들어가겠습니다. 코딩 -> hello.c -> preprocessing( 전처리 ) -> hello.i -> compile ( assemble 코드 생성 ) -> hello.s -> assemble ( 목적 파일 생성 )-> hello.o -> hello.o ..
virtualbox 활용하여 환경 설정하기 안녕하세요. WH 입니다. 임베디드 리눅스를 활용하여 개발하다보면, docker로 환경설정이 불가능할 때를 만나게 되는데요. 이번 글에서는 virtualbox를 활용하여 환경설정하는 방법에 대해 정리해보고자 합니다. virtualbox는 왜 쓰는 것일까요? 쉽게 내 운영체제가 돌리고자하는 소프트웨어와 맞지 않아 새로운 환경을 만들고자 할때 사용하게 됩니다. 전에 설명드렸던 docker는 컨테이너 기반 플랫폼이고, virtualbox는 가상 머신을 활용한 솔루션인데요. 간단히 공통점과 차이점을 짚고 넘어가고자 합니다. 무엇을 해결하고자 하냐면 내 환경에 맞지 않아 사용할 수 없는 소프트웨어를 사용하게 하는 것이 목적입니다. 차이점에 대해 간단히 말하자면 가상 머신의 경우, 하드웨어 자체를 가상화 하기 때문..
docker를 활용한 이미지 배포하기( feat. dockfile ) 안녕하세요 WH입니다. 나중에 블로그가 활성화되고 요청이 있다면 해당 부분을 자세히 다루겠지만, 그전까지는 기초부터 조금 다뤄볼까합니다. 오늘은 docker와 관련된 내용인데요. docker가 무엇인가.. docker를 활용하려고 하는데 뭔가 이게 이런것 거두절미하고 쉽게 설명 드리겠습니다. 처음 docker를 접할 때 어려웠던 점은, container가 무엇인지, 이미지가 무엇인지, 빌드가 뭔지 하나도 모르는 상황이었기 때문에 굉장히 큰 어려움을 겪었습니다. 인터넷을 찾아보는데, 찾아봐도 이게 뭔지 뭘 어떻게 해야되는 건지 모르겠더라구요ㅜㅜ 그래서 한마디로 정리해보겠습니다 개념적인 내용 다 빼고 그래서 도커가 무엇이냐 docker는 내 시스템에서 다른 시스템 환경과 해당 환경 내 소프트웨어를 활용할 수..
C++ 두번째 이야기, 참조자 두번째 글이네요. 처음 제글을 읽으실 누군가가 궁금하네요. 오늘은 참조자 입니다. C++을 편하게 만들어 주는 친구랄까요? 시작해보겠습니다. 참조자란 무엇일까요? "변수에 별명을 붙여주는 것이 참조자 입니다" 별명은 뭘 뜻하죠? 말 그대로 다른 이름입니다. int num = 10; int &ref = num; 저번 시간에 했던 내용에 추가해 갈게요. 자 위의 두줄의 코드를 그림으로 표현해보았습니다. 두줄로 인해 그림과 같은 상황이 되는거죠. 공간은 두가지의 이름을 가지는데 num이 되기도 하고 ref가 되기도 합니다. 근데 참조자는 뭐라고 했죠?? "별명이요!" 그럼 별명을 지으려는데 대상이 없으면 될까요 안될까요? 당연히 안됩니다. 별명만 먼저 지어놨다가 나중에 붙이는 건 될까요? 안됩니다. 생각해 봅..
C++ 첫번째 이야기, 자료형 안녕하세요, WH에요. 비전공자가 개발자가 되었답니다. 물론 자바나 고와 같은 언어를 쓰지는 않아요. 부서 특성상 c와 c++을 쓰고 있어요. 여러 할 이야기가 있지만, 처음에는 자료형에 대해 다뤄볼까 합니다. 차근차근 하나씩 알아가봅시다. 자료형이 뭘까요? 왜 처음 다루는 이야기로 자료형을 가져왔을까요? 자료형에 대한 이해가 모든 개념 이해의 시작이기에 가져왔습니다. 대답해볼까요? 자료형이 뭐죠? " 자료형은 데이터를 표현하기 위한 공간과 그에 대한 표현 방식입니다. " 이 정도로 표현할 수 있을까요? 단순이 실수형이다, 정수형이다, 문자형이다.. 이정도의 의미가 아닙니다. 매우 중요한 부분은 공간 그리고 표현방식 두 가지 키워드 입니다. #include int main(void) { int a = 0..