C언어
- 1972년 데니스 리치(Dennis Ritchie)에 의해 발명
- 절차지향적 언어
- 확장자 .c
C++
- 비야네 스트로스트룹(Bjarne Stroustrup) 개발
- C 에 다양한 기능을 추가해 C++제작
- 객체지향적 언어
- 확장자 .cpp
- C의 기본적인 문법들을 C++에서도 많이 쓰인다. 그래서 C로 작성된 코드가 C++에서도 작동된다고 볼 수 있다.
40년 이상의 시간이 지난 지금도 두 언어가 계속 업데이트 되면서 각자 다른 길을 걸어가고 있기 때문에 두 언어간의 거리가 점점 멀어지고 있다.
---
### 소스 코드가 프로그램이 되기까지
흔히 코딩한다 라고 이야기 하는 것 ‘ 소스 코드(source code)를 작성하는 것을 말한다.
`**소스코드` : 어떤 컴퓨터 프로그램을 만들기 위해 특정한 언어로 작성된 문서를 말한다.**
ex) C언어로 작성된 소스 코드
#include <stdio.h>
int main() {
int n, sum = 0;
scanf("%d", &n);
for( int i = 1l i <= n; i++) {
sum += i;
}
printf("%d", sum);
}
소스 코드 자체가 컴퓨터 프로그램인 것은 아니다.
=? 컴퓨터가 소스 코드를 곧바로 이해하지는못하기 때문이다.
- 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 번역해서 실행할 수 있는 파일을 만드는 일련의 작업을 `**컴파일`(compile)** 이라하며, 이를 번역을 담당하는 프로그램을 **`컴파일러` (compiler)** 라 한다.
컴파일러의 종류
- MSVC,
- GCC
- Clang 등등
언어의 버전에 따라서도 여러 버전의 컴파일러가 있다.
이 책에서는 MSVC라고 불리는 Microsoft Visual C++ 컴파일러를 사용할 것이다.
버전은 C++ 14
`**컴파일 에러` : 컴파일 단계에서 생기는 에러**
- 보통 소스 코드에 문법적인 문제가 있어서 컴파일러가 이해하지 못할 때 발생
`**런타임 에러` : 실행 도중에 발생하는 에러**
- 소스 코드가 실행 가능한 프로그램으로 변환됐는데, 그 프로그램을 실행하는 도중에 에러가 발생한 것
'Programming > C_C++' 카테고리의 다른 글
[C/C++_Doodle]BookReviewing_01.출력하기 (0) | 2023.01.27 |
---|---|
[Data Structure] unorderd_map (0) | 2022.04.09 |
[C++] 역사부터 기초까지 (0) | 2021.11.21 |