c(11)
-
6장 c 로 oop?
일반적으로 개발을 할 때 우리는 크게 두가지 패러다임으로 구성되어 있다. 첫번째는 함수형 프로그래밍, 두번째는 명령형 프로그래밍 일반적으로 크게 두가지의 패러다임을 잡고 구성을 하게 된다. 그리고 명령형 프로그래밍에서 크게 절차지향, 객체지향으로 구성이 나뉘게 되는데 우리가 사용하는 c언어는 기본적으로 절차지향 언어로 속해있다. 그리고 c 에서 갈라져 나오게된 c++의 경우 객체지향 언어로 속해진다. oop는 객체지향적 사고를 소프트웨어 설계 및 개발에 도입하는것을 말하는데 절차지향인 c에서 oop가 무슨 말이냐고 할 수 있다. 하지만 인간은 일반적으로 사물을 볼 때 대상을 나누어 보게되는데. 이말이 결국 우리가 구현하는 로직또한 객체로서 판단되고 구현된다는 말을 의미한다. // 객체지향적 사고방식이 객..
2022.12.03 -
프로세스 메모리 구조., 힙 스택
프로세스 메모리 구조와 힙스택은 따로 정리 할 필요성을 느끼지 못하여서 하나의 통합본으로 정리 하도록 하겠다. 일단 프로세스의 메모리구조, 메모리와 프로세스의 상호작용 방식, 정적 메모리 레이아웃과 동적 메모리 레이아웃을 다루게 되는데 여기서 힙 스택에서도 사용되는 메모리 로직을 따르게 된다 . 프로세스 메모리 레이아웃 일반적으로 프로세스는 실행중인 프로그램을 뜻하는데 여기서 각 프로세스들은 고유의 아이디를 할당 받게 되고 이를 통해 운영체제와 상호적으로 데이터의 통신이나 여러 작업들을 할 수 있게 된다. 이때 새로운 프로세스를 만들거나, 로딩하는것은 운영체제 고유한 역할이다. linux계열에서 프로세스를 실행하는것은 execve, execle 와 같은 함수를 호출하여 프로세스를 새로 실행하게 되는데 이..
2022.11.27 -
목적파일
ABI : (Application binary interface ) 와 중요성에 대해 설명 목적 파일 형식 : 현존하는 목적 파일 형식과 쓸모 없어진 목적 파일 형식에 대해서 설명. ELF에 대해서 소개 재배치 가능한 목적 파일 : 첫번째 결과물에 대해서 다룸. 실행 가능한 목적 파일 실행가능한 목적파일에 대해 설명 정적 라이브러리 : 정적 라이브러리의 내용과 만드는 법에 대해 이야기 동적 라이브러리 : 공유 목적 파일에 대해 이야기 ABI API 는 일반적으로 프로그램간 기능 제공에 해당하는 규칙을 말하는데 ABI 는 프로그램간 기계어 의 호환 규칙을 말하는것으로 볼 수 있다. 말이 어려운데 쉽게 이야기 하면 결국 내부적으로 api나 abi 둘다 프로그램간의 협약 규칙을 말하나 이것이 프로그램 간 인지..
2022.11.24 -
2장 정ㄹ
코드베이스, 소스코드에 텍스트로 된 명령어를 포함하는것, 표준 컴파일 파이프라인 c표준 컴파일 파이프라인의 여러단계 컴파일 파이프라인을 통해 최종 결과물이 만들어지는 방식. 전처리기 Preprocessor : 전처리기에 대해서 알아봄. 컴파일러 컴파일 단계를 거치며 소스코드에서 중간표현을 만드는 방식 어셈블러 컴파일러 로 받은 어셈블리 코드를 기계어로 변환 링커 링크를 진행하는과정 빌드시 발생하는 다양한 오류도 확인하고 역어셈블링 하는 과정도 설명. 2.1 표준 컴파일 파이프라인 c파일을 컴파일할때 수초정도 걸리는데 이때 전처리 -> 컴파일러 -> 어셈블러 -> 링커 진입을 한다. 이때 다음 과정을 위한 특정 결과값을 생성하고 최종 결과물을 만들때 까지 지속적으로 동작함. 이때 에러가 발생하면 동작을 그..
2022.11.10 -
1장 공부 정리.
전처리기 지시자. 포인터 변수 함수 포인터 구조체
2022.11.06