이 랩에서는 첫 번째 C++ 프로그램을 작성하는 방법을 배우게 됩니다. 먼저 GCC (GNU Compiler Collection) 컴파일러를 설치하고 Ubuntu 22.04 에서 필요한 환경 변수를 구성하는 것으로 시작합니다. 그런 다음, 새로운 C++ 소스 파일을 생성하고 기본적인 프로그램 구조를 작성하며, cout 문을 사용하여 "Hello World" 메시지를 출력합니다. 또한 프로그램을 컴파일하고 실행하는 방법, 한 줄 및 여러 줄 주석을 추가하는 방법, 줄 바꿈을 위해 endl 및 \n을 사용하는 방법, 그리고 세미콜론 누락과 같은 일반적인 구문 오류를 수정하는 방법을 배우게 됩니다.
이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 고급 레벨의 실험이며 완료율은 34%입니다.학습자들로부터 98%의 긍정적인 리뷰율을 받았습니다.
Ubuntu 22.04 에서 GCC 컴파일러 설치 및 환경 변수 설정
이 단계에서는 C++ 용 GCC (GNU Compiler Collection) 컴파일러를 설치하고 Ubuntu 22.04 에서 필요한 환경 변수를 구성하는 방법을 배우게 됩니다. GCC 는 C++ 프로그램을 컴파일하고 실행하는 데 필수적입니다.
먼저, WebIDE 에서 터미널을 엽니다. 화면 하단의 터미널 아이콘을 클릭하거나 키보드 단축키 (일반적으로 Ctrl+`) 를 사용하여 이 작업을 수행할 수 있습니다.
사용 가능한 패키지에 대한 최신 정보를 확보하기 위해 패키지 목록을 업데이트하는 것으로 시작합니다.
sudo apt update
예시 출력:
Hit:1 http://mirrors.cloud.aliyuncs.com/ubuntu jammy InRelease
Hit:2 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-updates InRelease
Hit:3 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-backports InRelease
Hit:4 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
157 packages can be upgraded. Run 'apt list --upgradable' to see them.
다음으로, GCC 컴파일러 및 관련 개발 도구를 설치합니다.
sudo apt install -y build-essential
예시 출력:
Reading package lists...
Building dependency tree...
Reading state information...
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
설치를 확인하고 GCC 버전을 확인하려면 다음을 실행합니다.
g++ --version
예시 출력:
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GCC 컴파일러는 일반적으로 이미 시스템 PATH 에 있으므로 추가 구성이 필요하지 않습니다.
.cpp 확장자를 가진 새로운 C++ 소스 파일 생성
이 단계에서는 .cpp 확장자를 가진 새로운 C++ 소스 파일을 생성하는 방법을 배우게 됩니다. C++ 에서 소스 파일은 C++ 코드를 포함하고 있음을 나타내기 위해 .cpp 확장자를 사용합니다. WebIDE 의 파일 탐색기 및 텍스트 편집기를 사용하여 첫 번째 C++ 소스 파일을 생성합니다.
먼저, 터미널에서 ~/project 디렉토리로 이동합니다.
cd ~/project
이제 WebIDE 의 파일 탐색기를 엽니다. 파일 및 폴더 목록이 있는 사이드바가 표시됩니다. 새 파일을 생성할 수 있는 아이콘을 찾습니다. "+" 기호 또는 "New File" 옵션처럼 보일 수 있습니다.
파일 탐색기에서 마우스 오른쪽 버튼을 클릭하고 "New File"을 선택합니다. 메시지가 표시되면 파일 이름을 hello.cpp로 지정합니다. .cpp 확장자는 컴파일러와 개발 도구에 이것이 C++ 소스 파일임을 알려주므로 매우 중요합니다.
터미널에서 파일 생성 예시 (참조용):
touch hello.cpp
새로 생성된 hello.cpp 파일을 클릭하여 WebIDE 의 텍스트 편집기에서 엽니다. 첫 번째 C++ 코드를 작성할 준비가 된 빈 파일이 표시됩니다.
.cpp 확장자는 다음과 같은 이유로 중요합니다.
파일을 C++ 소스 코드 파일로 식별합니다.
개발 도구 및 컴파일러가 파일 형식을 인식하도록 돕습니다.
C++ 파일을 .c (C), .java (Java) 또는 .py (Python) 와 같은 다른 프로그래밍 언어 파일과 구별합니다.
이 시점에서 hello.cpp 파일은 C++ 코드 작성을 시작할 준비가 되었습니다. 다음 단계에서는 이 파일에 기본적인 C++ 프로그램을 작성하는 방법을 배우게 됩니다.
int main() 함수를 사용한 기본 프로그램 구조 작성
이 단계에서는 main() 함수에 중점을 두고 C++ 프로그램의 기본적인 구조에 대해 배우게 됩니다. 모든 C++ 프로그램은 프로그램 실행이 시작되는 진입점인 main() 함수를 가져야 합니다.
이전 단계에서 생성한 WebIDE 의 hello.cpp 파일을 엽니다. 이제 기본 프로그램 구조를 추가해 보겠습니다.
#include <iostream>
int main() {
// Your code will go here
return 0;
}
참고: 더 나은 학습 결과를 위해 코드를 직접 입력하는 것이 좋습니다. C++ 구문에서 필수적인 중괄호 { }와 세미콜론 ;에 주의하십시오. 공백과 들여쓰기를 잊지 마십시오. 그렇지 않으면 단계 확인이 실패할 수 있습니다.
이 기본 구조를 자세히 살펴보겠습니다.
#include <iostream>: 이것은 입/출력 스트림 라이브러리를 포함하는 전처리기 지시문입니다. 화면에 출력하는 것과 같은 입/출력 작업을 사용할 수 있습니다.
int main(): 이것은 main 함수 선언입니다.
int는 함수가 정수 값을 반환함을 지정합니다.
main()은 C++ 프로그램의 표준 진입점입니다.
빈 괄호 ()는 함수가 인수를 받지 않음을 나타냅니다.
중괄호 { }: 코드를 작성할 함수의 본문을 정의합니다.
return 0;: 프로그램이 성공적으로 완료되었음을 나타냅니다.
0 을 반환하면 운영 체제에 프로그램이 오류 없이 실행되었음을 알립니다.
이것은 C++ 프로그램에서 표준적인 관행입니다.
WebIDE 는 입력하는 대로 변경 사항을 자동으로 저장합니다. 또는 편집기의 저장 옵션을 사용하여 파일을 수동으로 저장할 수 있습니다.
<<: 스트림 삽입 연산자 (stream insertion operator) 로, 데이터를 출력 스트림으로 보내는 데 사용됩니다.
"Hello, World!": 우리가 출력하려는 텍스트 메시지입니다.
std::endl: 새 줄을 추가하고 출력 버퍼를 플러시합니다.
메시지가 즉시 표시되도록 합니다.
커서를 다음 줄로 이동합니다.
파일을 저장할 때 위에 표시된 전체 구조를 포함해야 합니다.
cout에 대한 몇 가지 주요 사항:
텍스트, 숫자 및 기타 데이터 유형을 화면에 출력하는 데 사용됩니다.
<< 연산자는 여러 항목을 출력하기 위해 연결될 수 있습니다.
std::endl은 출력 후 새 줄을 만드는 데 사용됩니다.
cout를 세상에 메시지를 알리는 확성기처럼 생각할 수 있습니다. << 연산자는 메시지를 로드하는 데 도움이 되며, std::endl은 모든 사람이 메시지를 명확하게 들을 수 있도록 합니다.
g++ hello.cpp -o hello 명령어로 프로그램 컴파일
이 단계에서는 g++ 컴파일러를 사용하여 C++ 프로그램을 컴파일하는 방법을 배우게 됩니다. 컴파일은 사람이 읽을 수 있는 C++ 소스 코드를 컴퓨터가 실행할 수 있는 실행 가능한 프로그램으로 변환하는 과정입니다.
WebIDE 에서 터미널을 엽니다. ~/project 디렉토리에 있는지 확인합니다.
cd ~/project
이제 g++ 명령을 사용하여 이전에 생성한 hello.cpp 파일을 컴파일해 보겠습니다.
g++ hello.cpp -o hello
이 명령을 자세히 살펴보겠습니다.
g++: GNU C++ 컴파일러
hello.cpp: 컴파일하려는 소스 파일
-o hello: 출력 실행 파일 이름을 지정합니다.
-o는 출력 파일의 이름을 지정할 수 있는 옵션입니다.
hello는 생성할 실행 파일의 이름입니다.
예시 출력:
## No output means successful compilation
컴파일이 성공하면 오류 메시지가 표시되지 않습니다. 컴파일러는 동일한 디렉토리에 hello라는 실행 파일을 생성합니다.
컴파일을 확인하려면 디렉토리의 파일을 확인할 수 있습니다.
ls
예시 출력:
hello hello.cpp
이제 두 개의 파일이 표시됩니다.
hello.cpp: 소스 코드 파일
hello: 컴파일된 실행 프로그램
몇 가지 중요한 컴파일 참고 사항:
코드에 오류가 있으면 g++가 오류 메시지를 표시합니다.
프로그램을 실행하기 전에 항상 컴파일 오류를 확인하고 수정하십시오.
-o 옵션은 선택 사항이지만 실행 파일에 의미 있는 이름을 지정하는 것이 좋습니다.
컴파일을 책을 한 언어에서 다른 언어로 번역하는 것과 같다고 생각할 수 있습니다. g++ 컴파일러는 사람이 읽을 수 있는 C++ 코드를 컴퓨터가 이해하고 실행할 수 있는 언어로 변환합니다.
./hello 명령어로 프로그램 실행
이 단계에서는 방금 컴파일한 실행 프로그램을 실행하는 방법을 배우게 됩니다. C++ 프로그램을 컴파일한 후에는 ./ 명령과 실행 파일 이름을 사용하여 실행할 수 있습니다.
~/project 디렉토리에 있는지 확인합니다.
cd ~/project
이전 단계에서 컴파일한 프로그램을 실행하려면 다음 명령을 사용합니다.
./hello
./는 시스템에 현재 디렉토리에서 실행 파일을 찾도록 지시하고, hello는 생성한 실행 파일의 이름입니다.
예시 출력:
Hello, World!
무슨 일이 일어나는지 자세히 살펴보겠습니다.
./는 "현재 디렉토리에서"를 의미합니다.
프로그램은 컴파일된 실행 파일의 지침을 읽습니다.
C++ 소스 코드에서 정의한 메시지를 출력합니다.
출력 후 프로그램이 종료됩니다.
몇 가지 중요한 실행 참고 사항:
현재 디렉토리에서 프로그램을 실행할 때는 항상 실행 파일 이름 앞에 ./를 사용합니다.
프로그램은 실행 권한이 있어야 합니다 (이는 g++가 자동으로 제공합니다).
출력이 보이지 않으면 프로그램이 올바르게 컴파일되었는지 다시 확인하십시오.
프로그램 실행을 자동차 시동을 거는 것과 같다고 생각할 수 있습니다. 컴파일은 자동차를 준비하는 것이고, 프로그램 실행은 키를 돌려 운전하는 것입니다.
프로그램을 여러 번 실행하려면 ./hello 명령을 반복하면 됩니다.
한 줄 및 여러 줄 주석 추가
이 단계에서는 C++ 코드에 주석을 추가하는 방법을 배우게 됩니다. 주석은 코드의 내용을 설명하는 코드 내의 메모입니다. 컴파일러는 이를 무시하며 코드를 더 읽기 쉽게 만드는 데 도움이 됩니다.
WebIDE 에서 hello.cpp 파일을 열고 다양한 유형의 주석을 포함하도록 수정합니다.
#include <iostream>
// This is a single-line comment
// It explains what the program does
/*
This is a multi-line comment
You can write multiple lines of explanation
Without worrying about adding // to each line
*/
int main() {
// Print a greeting message
std::cout << "Hello, World!" << std::endl; // Inline comment explaining the output
/*
You can also use multi-line comments
in the middle of your code if needed
*/
return 0; // Return success status to the operating system
}
주석 유형을 자세히 살펴보겠습니다.
단일 행 주석:
//로 시작합니다.
줄의 끝까지 확장됩니다.
짧은 설명을 위해 좋습니다.
다중 행 주석:
/*로 시작합니다.
*/로 끝납니다.
여러 줄에 걸쳐 있을 수 있습니다.
더 긴 설명을 위해 유용합니다.
인라인 주석:
코드 줄의 끝에 추가됩니다.
특정 코드 줄을 설명합니다.
프로그램을 컴파일하고 실행하여 여전히 작동하는지 확인합니다.
g++ hello.cpp -o hello
./hello
예시 출력:
Hello, World!
주석에 대한 몇 가지 핵심 사항:
주석은 코드를 더 이해하기 쉽게 만듭니다.
다른 프로그래머 (및 자신) 가 코드의 목적을 이해하는 데 도움이 됩니다.
컴파일러는 주석을 완전히 무시합니다.
"무엇"을 하는지가 아니라 "왜" 무언가를 하는지 설명하기 위해 주석을 사용하십시오.
주석을 책의 메모와 같다고 생각할 수 있습니다. 실제 텍스트를 변경하지 않고 추가 컨텍스트와 설명을 제공합니다.
줄 바꿈을 위한 endl 및 \n 사용
이 단계에서는 C++ 출력에서 줄 바꿈을 만드는 두 가지 방법, 즉 std::endl과 줄 바꿈 문자 \n을 배우게 됩니다. 두 방법 모두 여러 줄에 걸쳐 출력을 형식화하는 데 도움이 됩니다.
WebIDE 에서 hello.cpp 파일을 열고 줄 바꿈을 시연하도록 수정합니다.
#include <iostream>
int main() {
// Using std::endl for line breaks
std::cout << "Hello, World!" << std::endl;
std::cout << "Welcome to C++ Programming!" << std::endl;
// Using \n for line breaks
std::cout << "Using newline character:\n";
std::cout << "Line 1\n";
std::cout << "Line 2\n";
// Mixing both methods
std::cout << "Mixing methods: " << std::endl;
std::cout << "Line with endl\n";
std::cout << "Line with newline character" << std::endl;
return 0;
}
👆 LabEx 팁: 코드 블록 오른쪽 하단의 "코드 설명"을 클릭하여 Labby AI 와 채팅하여 코드 설명을 얻으세요.
줄 바꿈 방법을 자세히 살펴보겠습니다.
std::endl:
새 줄을 추가합니다.
출력 버퍼를 플러시합니다 (즉시 인쇄되도록 보장).
<iostream> 라이브러리의 일부입니다.
std::cout과 함께 사용됩니다.
\n (줄 바꿈 문자):
새 줄을 만드는 간단한 방법입니다.
std::endl보다 가볍습니다.
많은 프로그래밍 컨텍스트에서 작동합니다.
출력 버퍼를 플러시하지 않습니다.
프로그램을 컴파일하고 실행합니다.
g++ hello.cpp -o hello
./hello
예시 출력:
Hello, World!
Welcome to C++ Programming!
Using newline character:
Line 1
Line 2
Mixing methods:
Line with endl
Line with newline character
핵심 사항:
std::endl과 \n 모두 새 줄을 만듭니다.
std::endl은 더 포괄적이지만 약간 느립니다.
\n은 더 빠르고 가볍습니다.
이러한 방법을 혼합하여 사용할 수 있습니다.
줄 바꿈을 책의 단락 나누기와 같다고 생각할 수 있습니다. 출력 내용을 구성하고 구조화하는 데 도움이 됩니다.
세미콜론 누락과 같은 일반적인 구문 오류 수정
이 단계에서는 C++ 의 일반적인 구문 오류에 대해 배우고, 세미콜론 누락에 중점을 둡니다. 세미콜론은 C++ 에서 문장의 끝을 표시하므로 매우 중요합니다.
WebIDE 에서 syntax_errors.cpp라는 새 파일을 만듭니다.
cd ~/project
touch syntax_errors.cpp
#include <iostream>
int main() {
// Common syntax error: Missing semicolon
std::cout << "This line has an error" // Missing semicolon here!
std::cout << "This line will not compile" << std::endl;
// Correct version with semicolons
std::cout << "This line is correct" << std::endl;
std::cout << "All statements end with a semicolon" << std::endl;
return 0; // Don't forget the semicolon here too!
}
프로그램을 컴파일해 봅니다.
g++ syntax_errors.cpp -o syntax_errors
예시 컴파일 오류:
syntax_errors.cpp: In function ‘int main()’:
syntax_errors.cpp:5:42: error: expected ‘;’ before ‘std’
5 | std::cout << "This line has an error" // Missing semicolon here!
| ^
| ;
6 | std::cout << "This line will not compile" << std::endl;
| ~~~
세미콜론을 문장의 마침표와 같다고 생각할 수 있습니다. 코드에서 완전한 생각을 표시합니다.
요약
이 랩에서는 C++ 용 GCC (GNU Compiler Collection) 컴파일러를 설치하고 Ubuntu 22.04 에서 필요한 환경 변수를 구성하는 방법을 배우게 됩니다. 새로운 C++ 소스 파일을 만들고, int main() 함수를 사용하여 기본 프로그램 구조를 작성하고, cout을 사용하여 "Hello World" 메시지를 출력합니다. 그런 다음 g++ 명령을 사용하여 프로그램을 컴파일하고 실행합니다. 또한, 한 줄 및 여러 줄 주석을 추가하고, 줄 바꿈을 위해 endl 및 \n을 사용하며, 세미콜론 누락과 같은 일반적인 구문 오류를 수정하는 방법을 배우게 됩니다.
이러한 단계를 완료하면 첫 번째 C++ 프로그램을 작성하고 실행하기 위한 탄탄한 기반을 갖게 되며, Ubuntu 22.04 에서 C++ 개발에 필요한 기본 도구 및 개념에 대한 이해를 얻게 됩니다.