Monday, August 07, 2006
C언어] 컴파일러 테스트용의 간단한 소스 코드: Hello World
컴파일러를 설치했다면, 설치가 잘되었는지 확인해 보기 위해, 간단한 소스 코드를 컴파일해 봅니다. 이런 것을 "Hello World 프로그램"이라고 합니다.
C의 Hello World 프로그램은 예를 들어 이런 식입니다.
화면에 Hello, World! 라는 문자열이 나오는 간단한 프로그램입니다. 위의 박스에 있는 코드를 0.c 등의 이름으로 하드에 저장합니다. (test.c 라는 이름은 좋지 않습니다. 리눅스에는 test 라는 명령이 이미 있기 때문입니다.)
라고 하면 0.exe 로 컴파일됩니다.
라고 하면 a.out 이라는 이름의 파일로 컴파일됩니다. (gcc 는 컴파일이 성공적이었을 경우, 화면에 아무 글자도 나오지 않습니다. 이것이 정상입니다.) 다만, Cygwin(시그윈)의 경우에는 a.exe 라는 이름으로 컴파일됩니다.
리눅스는 "현재 디렉토리"의 파일을 직접 실행할 수 없기에,
./a.out
이라고 해야 실행됩니다. (▶▶ [리눅스/Cygwin] 현재 디렉토리의 파일 실행하기; 현재 디렉토리를 패스(PATH)에 추가 참고)
만약 gcc 에서, warning: no newline at end of file (경고: 파일 끝에 행갈이 문자가 없음) 이라는 워닝이 나오면, 위의 소스 코드 마지막에 Enter키를 쳐서 빈 줄을 추가해 주면 됩니다.
컴파일한 후, 실행시킨 결과 화면:
C의 Hello World 프로그램은 예를 들어 이런 식입니다.
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
int main() {
printf("Hello, World!\n");
return 0;
}
화면에 Hello, World! 라는 문자열이 나오는 간단한 프로그램입니다. 위의 박스에 있는 코드를 0.c 등의 이름으로 하드에 저장합니다. (test.c 라는 이름은 좋지 않습니다. 리눅스에는 test 라는 명령이 이미 있기 때문입니다.)
비주얼C의 커맨드 라인 버전인, cl.exe 에서 컴파일
cl 0.c
라고 하면 0.exe 로 컴파일됩니다.
리눅스의 gcc 에서 컴파일
gcc 0.c
라고 하면 a.out 이라는 이름의 파일로 컴파일됩니다. (gcc 는 컴파일이 성공적이었을 경우, 화면에 아무 글자도 나오지 않습니다. 이것이 정상입니다.) 다만, Cygwin(시그윈)의 경우에는 a.exe 라는 이름으로 컴파일됩니다.
리눅스는 "현재 디렉토리"의 파일을 직접 실행할 수 없기에,
./a.out
이라고 해야 실행됩니다. (▶▶ [리눅스/Cygwin] 현재 디렉토리의 파일 실행하기; 현재 디렉토리를 패스(PATH)에 추가 참고)
만약 gcc 에서, warning: no newline at end of file (경고: 파일 끝에 행갈이 문자가 없음) 이라는 워닝이 나오면, 위의 소스 코드 마지막에 Enter키를 쳐서 빈 줄을 추가해 주면 됩니다.
컴파일한 후, 실행시킨 결과 화면:
D:\Z>cl 0.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
0.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:0.exe
0.obj
D:\Z>0
Hello, World!
D:\Z>
D:\Z>
D:\Z>
D:\Z>gcc 0.c
D:\Z>a.exe
Hello, World!
D:\Z>
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
0.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:0.exe
0.obj
D:\Z>0
Hello, World!
D:\Z>
D:\Z>
D:\Z>
D:\Z>gcc 0.c
D:\Z>a.exe
Hello, World!
D:\Z>
tag: cpp
C언어 | C/C++ (Visual C++)
tag: linux
리눅스 Linux | 유닉스 Unix | 시그윈 Cygwin
<< Home