- #include <stdio.h>라는 이름의 파일을 찾아서 "printf" 함수에 접근할 수 있도록 함
- <stdio.h>는 라이브러리로 누군가 이미 작성해둔 코드이며 헤더파일로 C언어로 작성이 되어 있고, 파일명이 .h로 끝나는 파일
- int main(void)는 '시작한다'는 의미를 가짐
- printf(“hello, world”)는 “hello, world”라고 말하기라는 역할로 뭔가를 화면 상에 출력하고 싶을 때 사용하는 함수
- 글자나 단어, 문장을 적을 때 언제나 텍스트에 " "큰따옴표로 감싸고 마칠 때는 세미콜론(;)으로
- C로 작성한 코드는 “파일이름.C”로 저장해야 함(확장자 “.c”는 C로 작성된 코드를 뜻함
1. 컴파일러
- “source code”: C나 파이썬, 자바, C++와 같이 들어본 적 있는 언어들로 작성된 영어와 유사한 코드(직접 작성한 코드)
- “machine code”: 컴퓨터가 실제로 이해하는 0과 1의 조합
- 소스코드를 머신코드로 변환해야 컴퓨터가 이해할 수 있음 이러한 작업을 컴파일러라고 함
- 컴파일러: 소스코드로부터 머신 코드를 얻기 위해서 번역을 수행하는 알고리즘 혹은 소프트웨어
<실습하기>
1) 코드를 적고 난 뒤 터미널창의 명령어 프롬포트(터미널)에서 “$” 기호 옆에 원하는 명령어를 입력하기
2) clang(코드를 컴파일하는 프로그램의 이름)으로 “hello.c”라는 코드를 컴파일하라!
3) 그 결과 a.out이라는 파일이 생성됨
4) ./a.out에서 제일 앞에 있는 .은 지금 현재 폴더를 나타냄 이 명령어를 실행하면 컴퓨터가 현재 디렉토리에 있는 a.out이라는 프로그램을 실행하게 해 줌
5) 그러면 머신코드로 된 a.out파일이 실행됨!
6) $를 없애주기 위해서 \n 줄바꿈 표시를 추가!
7) 그리고 다시 clang을 이용해 hello.c를 컴파일 한 뒤 컴파일된 파일을 불러온다!
그외의 명령어
1) ls
- 현재 폴더나 디렉토리에 있는 파일의 리스트를 보여줌! a.out은 실행될 수 있는 머신코드로 이루어져 있기 때문에 *이 붙음!(*는 실행 가능하다는 뜻)
- 머신코드와 소스코드를 구분할 수 있음
2) rm
파일을 삭제함! 저 질문에 y나 yes를 하면 파일이 삭제됨!
이 외에도 더 많은 명령어가 있음!
https://www.boostcourse.org/cs112/joinLectures/41307
'cs > CS50' 카테고리의 다른 글
2: C언어-3(조건문과 반복문) (0) | 2021.11.24 |
---|---|
2: C언어-2(문자열) (0) | 2021.11.24 |
1: 컴퓨팅 사고-3(알고리즘 기초) (0) | 2021.11.23 |
1: 컴퓨팅 사고-2(아스키코드) (0) | 2021.11.23 |
1: 컴퓨팅 사고-1(2진법과 비트) (0) | 2021.11.23 |