본문 바로가기

Cpp

(3)
C++에서 Compiler는 어떻게 동작할까? 컴파일러(Compiler)란? : 번역하는 프로그램. 책을 통째로 번역하는 것과 같다. 사람은 C언어를 사용하고, 컴퓨터는 이진법 언어(Binary code, Hex code, object code, machine code 등)를 사용하기에 서로의 언어를 이해하지 못합니다. 그래서 이를 해결하기 위해 필요한 것이 바로 Compiler입니다. Compiler는 C언어를 기계가 이해할 수 있도록 이진법 언어로 번역합니다. 이런 과정을 거쳐 사람은 C언어를 통해 바로 .exe와 같은 프로그램을 생성합니다. C++의 Compiler인 g++를 예시로 하여 그림으로 표현해 보았습니다. 한 단계씩 설명해 보겠습니다. Preprocessing 사람이 작성한 코드를 전처리 합니다. 이때 #include, #define..
포인터(Pointer)는 왜 어려운가? * 바쁘신 분들을 위한 3줄 요약 1. +, - , 등의 연산자는 프로그램 밖에서도 실제로 사용해봤지만, 포인터 연산자(*, &)는 그렇지 않습니다. 2. 포인터 연산자( * )를 가지고 Type에 사용, 변수에 사용을 혼용한다. 3. 포인터 변수를 선언과 동시에 초기화 할 때, 동작을 오해하기 쉽다. 포인터(Pointer)는 왜 어려울까요? C나 C++을 처음 배우는 사람들의 대부분은 Pointer에서 큰 장벽을 만나고는 합니다. 요즘은 python같이 high level로 프로그래밍을 하게 되면 메모리 주소를 건들지 않고도 개발을 쉽게 할 수 있지만, 그래도 수많은 초보자들의 발목을 잡는 유명한 Pointer 자체에 대해서 한 번은 언급하고자 합니다. 제 처음 강의의 기억들과 책의 내용을 ..
C++ 이란? * 바쁘신 분들을 위한 3줄 요약 1. C++은 1985년에 처음으로 탄생한 언어이다. 2. C에 객체지향을 얹은게 C++이다. 3. 개발자의 실수로 취약점이 발생했을 때, C++은 교정해주지 않는다. 소개 (Introduce) C++언어는 1985년에 Bjarne Stroustrup(비야네 스트로스트룹)이라는 덴마크 컴퓨터 과학자가 C언어를 확장하여 만든 고급(High Level) 범용(General Purpose) 프로그래밍 언어입니다. 1998년에 ISO/IEC 14882:1998로 처음 표준화 되었습니다. C언어를 확장했기 때문에 C++은 대부분의 C구문을 상속합니다. 글 작성 시점(2023-02-05)에서의 C++은 C++23까지 Preview release가 되었으며, C++20이 Stable..