본문 바로가기

블록체인 기반 핀테크 및 응용 SW개발자 양성과정 일기

[124일차] basic C++ on Linux

반응형

 

 

코드작성 제외 IDE를 쓰지않고 build &  결과물 보는 것은 LINUX 환경에서 볼 것! 

 

 

 

node.js / python

파일 실행시킬 때 명령어

node [파일명]
python [파일명]

 

=> build / compile을 해주지 않는다. 

 

C++

build하는 것만 다운받아서 코드를 build할 예정 ! 

 

 

 

 

 

요 경로에 있는 파일들은 존재하는 것인가.........

=> 있다! 

 

 

현재 경로에서 작업할 폴더 생성

mkdir workspace   // 폴더 생성
cd workspace       //  입 장
mkdir helloworld && cd helloworld      // 생성 & 입장 
code .                // -> 비쥬얼스튜디오코드가 뜸 wow 

코드는 vs 에서 작성 ! 

탐색기가 나오면 됨

 

hello.cpp 파일 생성 

요런 메세지가 뜸 => 설치해주기! 

 

메세지가 안뜨면 아래 수동 설치

 

 

main 함수부터 시작 

모든 함수 / 변수 dataType 정확하게 필요 

* return 값이 없더라도 무~조건 return 만들어주기 

 

 

console창에 helloworld 출력해보기 - 값을 내보내기 - io (input & output) 

 

#include : io package 가져올거다~~ string 가져올거다 ~~ 사용할거라서 ! 하나씩 사용할 것을 가져와야함 

#include <iostream>
#include <string>

int main(){
    return 0;
}

 

출력 

#include <iostream>
#include <string>

int main(){
    std::cout << "hello world" << std::endl;
    return 0;
}

 

namespace std 를 사용하게되면 std:: 를 삭제할 수 있다 ! 

#include <iostream>
#include <string>

using namespace std;

int main(){
    cout << "hello world" << endl;
    return 0;
}

 

위의 코드 실행해보기 

 

먼저 언어를 변환시켜야함 -> 변환해주는 프로그램 설치 build 

리눅스 창에서 먼저 업데이트부터 진행 / 설치 

sudo apt-get update
sudo apt-get install build-essential gdb       // 1. build-essential   2. gdb 다운 

// 설치 잘 되었는지 확인 
whereis g++      (build-essential - code building 해주는 아이)
whereis gdb       (gdb - debugging용) 

 

build 진행 

g++ -o hello hello.cpp 
ls       // 파일 잘 생성되었는지 확인 
cat hello   // 외계어 나옴
./hello        // 파일 실행시키기 => 내용 나옴 

-o = out 

 

g++ 내가 빌드를 진행하겠따

-o 파일을 어떻게 out 내보낼거냐면

hello 라는 이름으로 (요 이름으로 비쥬얼스튜디오 코드에 파일이 생김) 

hello.cpp라는 파일을 가지고 

 

 

질문 : hello가 무슨 역할인지 잘 모르겠다! - > build되는 파일 명! 

 

 

 

stdio.h 를 가져와서 printf("") 로 출력 가능 

 

 

 

 

연습 알고리즘 풀어보기 

https://www.acmicpc.net/problem/1000

 

1000번: A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

#include <iostream>
#include <string>

using namespace std;

int main(){
    int a,b;
    cin>>a>>b;
    cout<<a+b<<endl;
    return 0;
}

 

 

 

emily.h 파일 생성 & 코드 작성 - export 할 필요가 없다 ! 컴파일 후 다 가지고 있음

#include <iostream>

using namespace std;

int emily(){
    cout << "hello emily " << endl;
    return 0;
}

 

 

 

emily.h 를 hello.cpp 에 가져오기 

#include <iostream>
#include <string>
#include "emily.h"

using namespace std;

int main(){
    emily();
    int a,b;
    cin>>a>>b;
    cout<<a+b<<endl;
    return 0;
}

 

Command on Linux 

build + 실행 

 

 

 

 

파일이 많아지고 build할 것이 많아지면 매번 빌드하기 귀찮 ! 

make 를 사용해서 - > 원하는 디렉토리에 만들어 보내기 -> 월욜에 배울 예정 ! 

c++ 배운다기보다 build 배우기 -> 다른 사람이 만든 프로그램 내가 사용할 줄 알게됨 ! 

 

 

 

 

과제

io, if, for, string, 배열 / 자료구조 / 큐 코딩테스트 문제 풀기 

 

 

C++ 연습 및 정리 + 코테 풀기 

https://blckchainetc.tistory.com/344

 

[124일차 복습] C++ 기초 / 백준 1000번, 1330번, 2439번, 2908번, 2164번 코딩테스트 풀어보기

그동안 써온 언어 JS의 node.js나 python은 build / compile 기능이 없다! 보통 node [파일명] / python [파일명] 명령어를 사용해서 실행시켰는데 요건 안에 이미 build를 자동으로 해주어서 ! C++ 로 간단한 기..

blckchainetc.tistory.com

 

반응형