# ubunutu 22.04에 g++이 설치되어 있고 C++ 17 버전을 사용할 수 있음
# c++ 빌드
g++ filename.cpp
# c++ 실행
./a.out
# 빌드할 때 파일이름을 지정하려면
# 주: 코드파일과 실행파일 순서를 잘못 쓰면 코드파일도 삭제되고 실행파일도 생성되지 않음
g++ -o filename_whatever filename.cpp
# output 실행
./filename_whatever
cout << __cplusplus // C++ 17 버전의 경우 201703 값이 출력된다.
따로 설정하지 않으면 Ubuntu 22.04에 설치된 g++ 11.4.0 버전은 C++ 17 버전으로 컴파일한다.
cf. Windows에서 실습할 경우
방법이 여러 가지 있지만 minGW(https://nuwen.net/)를 설치하는 게 제일 편했다.
minGW 설치 후 환경변수에 설치된 minGW의 bin 디렉토리 시스템 변수로 추가
cmd에서 g++ -v
및 gcc -v
으로 설치 확인
빌드/실행
# c++ 빌드
g++ filename.cpp
# c++ 실행
./a.exe
실행 시 한글이 깨진다면: F1 설정에서 change encoding → save with encoding → Korean (EUC-KR) 선택 → 다시 빌드 → 실행
vscode에서 작성하기 편하게 C++ Extension pack을 설치해 주자
여러 파일 빌드 시 cmake 작성 또는 다른 툴 사용 필요
#include <iostream>
using namespace std;
int main()
{
cout << "[System] What's your name?" << endl;
string name; // C++ provides string as std::string
cin >> name;
cout << "[You] My Name is " << name << "." << endl;
cout << "[System] What's your email address?" << endl;
string email;
cin >> email;
cout << "[You] My email address is " << email << endl;
cin.get(); // 키 입력을 받으면 종료
return 0;
}
warning: no return statement in function returning non-void
에러 발생하며 컴파일이 불가하다.)#include <iostream>
using namespace std;
int main()
{
cout << "Furlong: ";
int furlong;
cin >> furlong;
int yard;
yard = furlong * 220;
cout << "Yard: " << yard << endl;
cin.get(); // 키 입력을 받으면 종료
return 0;
}
#include <iostream>
#define underline "\033[4m"
#define underline_off "\033[0m"
using namespace std;
int main()
{
const int FEET_CONVERT_CONST = 12;
cout << "Tell me your height in inches(integer only): ";
int height_i;
cin >> height_i;
int height_f;
height_f = height_i/FEET_CONVERT_CONST;
int height_rest;
height_rest = height_i - (height_f*FEET_CONVERT_CONST);
cout << "Your height is " << underline << height_i << underline_off << " inches." << endl;
cout << "In other words, your height is " << height_f << " ft and " << height_rest << " inches" << endl;
cin.get(); // 키 입력을 받으면 종료
return 0;
}