개발 Study

#1 기본개념 및 시작

HYuk 2021. 3. 26. 18:21
728x90

C언어 : 절차지향 언어

-> 코드가 순서대로 실행됨

ex) 프로세스1 -> 프로세스2 -> 프로세스3

장점 : 처리 속도가 빠르다 / 계산 순서나 처리 과정이 중요한 작업에서 적합

단점 : 과정 중간에 오류가 발생 할 경우 처음부터 코드를 짜야함 / 유지보수 어려움

 

C++ : 객체지향 언어

-> 객체 별(덩어리)로 인식하여 덩어리를 개발함

ex) 메소드1 <-> 메소드2   객체끼리 서로 상호작용하며 진행됨

장점 : 중간에 오류가 발생하거나 순서가 틀려도 일부분만 수정 / 유지보수 편리

단점 : 절차지향에 비해 속도가 느림

 

 

 

 

*실행파일 생성과정

 

실행파일 생성 과정 순서

코드작성 -> 전처리기 -> 컴파일 -> 어셈블러 -> 링크 -> 실행 파일 생성

1. 코드 작성

사용자가 프로그래밍 문법에 맞게 코드를 작성하는 단계.

2. 전처리기

# : 전처리 지시자

# 이 작성된 코드 라인을 번역하기 이전에 수행하는 단계.

3. 컴파일

고수준 언어를 저수준 언어로 번역하는 단계.

인간의 언어에 가까울수록 고수준 언어(High Level language) 라고 말하고 반대로 기계어에 가까울 수록

저수준 언어(Low Level language) 라고 한다.

기계어나 어셈블리어 등을 저수준 언어라고 한다.

프로그래밍 문법에 맞는 언어를 어셈블리어로 번역하는 단계.

4. 어셈블러

저수준 언어를 기계어로 번역하는 단계.

어셈블리어를 바이너리 코드(기계어)로 번역하는단계.

※바이너리 코드 : 바이너리 코드는 컴퓨터가 인식할 수 있는 0과 1로 구성된 이진코드를 의미한다.

어셈블러 단계를 거치면 .obj 파일이 생성된다.

5. 링크

.obj 파일과 .lib파일을 하나로 묶는 작업을 수행하는 단계.

6. 실행파일 생성

하나로 묶으면 실행파일이 생성된다.

 

 

-----

 

endl -> 줄바꿈

using namespace std;

대신에

cout, endl 등 앞에

std::cout

std::endl

 

로도 사용 가능

728x90

'개발 Study' 카테고리의 다른 글

#6 연산자(2) 및 형 변환  (0) 2021.04.01
#5 n진수 및 연산자  (0) 2021.03.31
#4 변수 표기법  (0) 2021.03.30
#3 아스키코드 및 리터럴 상수  (0) 2021.03.30
#2 변수 및 자료형  (0) 2021.03.29