CSAPP Wiki

C 컴파일·링킹 실습

실습 설명을 읽고 소스를 확인한다. 원본 파일 링크는 소스 텍스트를 연다.

hello.c

원본 파일

C
#include <stdio.h>
int sum(int num); // forward declaration 
// -> 정의가 없어도 되고, 모르는 함수여도 일단 컴파일 냅다 해줌
// linking 단계에서 정의가 필요함
// -> 컴파일러가 이 함수가 어디에 있는지 알 수 있도록 도와줌
// .o gitignore 
int main() {
    printf("Hello, World! %d\n", sum(100));
    return 0;
}

sum.c

원본 파일

C
// Type your code here, or load an example.
int sum(int num);

int sum(int num) {
    int sum = 0;
    for (int i=0; i < num; i++) {
        sum += i;
    };
    return sum;
}