CS50 2019 (David J. Malan) - 2

Minkyu Shin·2023년 3월 27일
0

CS

목록 보기
2/3
post-thumbnail

1. Introduction to C

1-1. C 언어

  • C는 오래되고 전통적인 순수 텍스트 기반의 언어
  • 대표적인 절차지향 언어
  • 절차지향 vs 객체지향

    <절차지향>
    개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결
    컴퓨터의 작업 처리 방식과 유사 => 시간 상 유리

    <객체지향>
    데이터와 절차를 하나의 덩어리로 묶어서 생각
    재사용성이 좋고 생산성이 높다

1-2. 컴파일러 (Compiler)

앞선 강의에서 컴퓨터는 0과 1의 조합만으로 이야기 한다고 했다.
C 언어와 같이 인간의 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있도록 하려면 어떻게 해야 할까?
소스 코드를 2진수로 작성된 머신 코드로 변환해 주는 작업을 해줘야 하는데, 이를 대신해 주는 것이 바로 컴파일러다.

1-3. c로 "hello, world" 출력해 보기

#include <stdio.h> // stdio.h 파일을 찾아 printf 함수에 접근

int main(void) // 시작한다
{
	printf("hello, world\n");
}
$ clang hello //clang 컴파일러로 컴파일링
$ ./a.out // 머신코드로 변환된 a.out 파일 실행

1-4. 컴파일 된 파일의 이름을 내가 정하고 싶어요!

$ clang -o hello hello.c // clang의 command line argument -o

컴파일 된 파일의 이름이 hello로 잘 바뀌었다.

profile
개발자를 지망하는 경영학도

0개의 댓글