컴파일이란 고수준 언어(C, Java, Python..)를 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정을 말한다. VS2022에서는 컴파일을 ▶ 버튼을 누르면 자동으로 해줌과 동시에 .exe 파일을 실행시켜주는데, 이 포스팅에서는 우리가 Developer Command Prompt를 이용하여 직접 컴파일하는 방법을 알아보고자 한다.
컴파일 과정
.c 파일 3개 제작
테스트를 위해 간단한 계산기 코드를 작성했다. add(덧셈), sub(뺄셈), div(나눗셈), mul(곱셈) 총 4개의 함수를 통해 사칙연산을 수행하며 3개의 .c 파일로 나누어 작성했다. add, sub, mul은 operation.c, div는 division.c, main() 함수를 통해 이 함수들의 함숫값을 출력하는 main.c, 총 3개이다. 1. main.c 파일
#include <stdio.h>
#define N 3
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int div(int a, int b);
int main(void) {
int x = 7, y = 5;
printf("add(%d, %d) = %d\n", x, y, add(x, y));
printf("sub(%d, %d) = %d\n", x, y, sub(x, y));
printf("div(%d, %d) = %d\n", x, y, div(x, y));
printf("mul(%d, %d) = %d\n", x, y, mul(x, y));
return 0;
}
2. operation.c 파일
int add(int a, int b) {
return a + b;
}
int sub(int a, int b) {
return a - b;
}
int mul(int a, int b) {
return a * b;
}
3. division.c 파일
int div(int a, int b) {
return a / b;
}
Developer Command Prompt for VS 2022로 컴파일
Developer Command Prompt for VS 2022는 Visual Studio 2022를 설치했다면 Window 검색창에서 찾을 수 있다. 이 프로그램은 Windows 터미널 프로그램 기반으로 빌드되어 각종 터미널 커맨드들을 사용할 수 있다. 이 포스팅에서 사용할 커맨드는 다음과 같다.
cd
현재 디렉토리 이름을 변경 또는 다른 디렉토리로 이동
cls
현재 터미널 화면 내용을 모두 지움
cl
VS의 컴파일 도구 실행 -> .exe 파일 생성
cl /c
VS의 컴파일 도구 실행 -> .obj 파일 생성
1. cd 로 컴파일할 .c 파일이 들어있는 디렉토리로 이동한다.
cd 로 문서에 있는 C_language 파일로 이동
2. cl [파일명] 으로 .c 파일을 컴파일하여 .exe 파일을 만든다. 이때 여러 .c 파일을 컴파일하고 싶으면 띄어쓰기로 구분하여 입력하면 된다.
cl 로 세 개의 .c 파일 컴파일
2-1. cl 뒤에 /c 를 붙이면 .obj 파일까지만 만들어진다. (.obj 파일은 VS2022의 오브젝트 파일이며 타 컴파일러에선 사용되지 않을 수 있다.)
/c 를 통해 .obj 파일까지만 생성한 모습
2-2. .obj 파일도 cl 명령어로 컴파일 하면 .exe 파일이 만들어진다. (아래 사진은 .obj 파일을 제작하고 이것으로 .exe 파일을 만들기까지의 과정이다.)