[C in Linux] Makefile
·
C & C++/C in Linux
Makefile이란? Linux상에서 반복적으로 발생하는 컴파일을 쉽게하기위해서 사용하는 make프로그램의 설정 파일. Makefile을 통해 라이브러리 및 컴파일러 환경을 관리할 수 있다. Incremental build를 사용하기 위함. Incremental build란? 반복적인 빌드 과정에서 변경된 소스코드에 의존성(Dependency)이 있는 대상들만 추려서 다시 빌드하는 기능이다. 예를 들어, 위의 빌드 예제에서 main.c의 한 줄만 바꾸고 다시 빌드할 때, 컴파일과 링크만 수행하는 경우가 이에 해당한다. Makefile의 기본 구조 파일명 : Makefile Makefile은 Target(대상), 의존 관계(Dependency), 명령(Recipe/Command)의 세가지로 아루어진다. -..
[C in Linux] gcc 그리고 unistd.h
·
C & C++/C in Linux
gcc란? gcc(GNU Compiler Collection), 자유 소프트웨어 중에 가장 잘 알려진 GCC는 원래 C만을 지원했던 컴파일러로 GNU C Compiler 였지만, 현재는 C++, Java, 포트란, 에이다 등 여러 언어를 컴파일할 수 있게 되면서, 현재의 이름으로 바뀌었다. 컴파일 방법 $ gcc [파일 이름] 위 처럼 컴파일하게 되면, a.out 실행파일이 생성된다. 그 파일을 실행하면 컴파일한 파일의 결과를 볼 수 있다. $ gcc -o [실행 파일 이름] [파일 이름] 위 처럼 실행 파일 이름을 지정할 수 있다. $ gcc -o [실행 파일 이름] [파일 이름 1] [파일이름 2] ... 위 처럼 컴파일하게 되면, 여러 c파일을 #include 하지 않고 사용할 수 있다. main함..
[C in Linux] start C
·
C & C++/C in Linux
개발환경 : WSL(Window Subsystem for Linux), Mac OS 에디터 : Vim(Vi Mproved) 컴파일러 : gcc (GNU Compiler Collection) 참조 : https://www.joinc.co.kr/w/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC C 프로그램의 구조 프로그램은 하나 이상의 함수로 이루어진다. 반드시 하나의 main함수를 포함해야 한다. 함수는 서로 독립적인 관계에 있다. 함수(Function) 입력 데이터 +--\ /--------------+ | | | | +-----------/ \-----+ 출력결과 위의 이미지는 함수의 개념을 전형적으로 설명해주고 있다. 이미 초등학교때 소개된 개념이다. 함수..
[C in Linux] Linux 와 C
·
C & C++/C in Linux
1. Linux 와 C 최초에 C는 시스템프로그래밍을 위한 언어로 개발되었으며, 상업적 및 학습적인 용도로 성공한 최초의 운영체제라 할 수 있는 Unix운영체제를 만드는 데에 사용되었다. 한마디로 Unix와 C는 뗄레야 뗄 수 없는 관계인 것이다. 이견이 있을 수 있지만 운영체제의 선조격인 Unix를 이해하는 것은 컴퓨팅환경을 이해하는 가장 좋은 방법이며, Unix를 이해하는 가장 좋은 방법은 C를 이해하는 것이라 할 수 있다. Linux운영체제가 Unix와 전혀 다른 운영체제라고는 하지만 Unix의 모든 철학과 구현을 그대로 포함하고 있으며, 사실상 또다른 Unix운영체제의 한 종류라고 할 수 있다. Unix의 또다른 운영체제라는데 거부감을 가진 리눅서들도 있겠지만 프로그래머의 입장에서 보자면 Linu..
WONILLISM
'C & C++/C in Linux' 카테고리의 글 목록