EXTREAM C
Part1. C 프로젝트 빌드
1장 필수 요소
- 전처리 및 미크로 정의 지시자
- 변수화 함수 포인터
- 함수 호출 매커니즘
- 구조체2장 소스->바이너리
- C프로젝트 빌드 방법
- 전체 및 개별 파이프라인 구성 요소의 관점에서 컴파일 파이프라인3장 목적 파일
- 목적파일의 다양한 종류
- 목적파일 내부, 추출 가능한 정보Part2. 메모리
- 4장 프로세스 메모리 구조
- 프로세스 메모리 레이아웃
- 세그먼트
- 정적 메모리 레이아웃과 동적 메모리 레이아웃의 의미스택과 힙
- 스택과 힙 세그먼트
- 수명을 C에서 관리하는 법
- 힙 변수의 모범사례
- 힙 변수 관리하는 법
Part3. 객체지향
6장 OOP Encapsulation
- 객체지향 배경이론 및 용어 정의
7장 합성과 집합
- 합성, 집합의 차이 및 예제
8장 상속과 다형성
- C에서의 상송관계 만들기, 다형성
9장 추상화와 C++의 OOP
- 추상화-자료형 및 C에서의 구현
- C++내부와 C++에서의 OOP구현
Part4. UNIX
10장 유닉스 역사와 아키텍처
- C와 유닉스가 왜 사로 강하게 연결되어 있나.
- 유닉스 아키텍처
- 운영체제 제공 기능을 프로그램이 어떻게 활용하는가
11장 시스템 호출과 커널
- 커널 링 시스템 호출 새로운 시스템 호출 추가
- 커널의 다양한 유형
- 새로운 간단한 커널 작성
최신 C
- C18 C11 C99
Part5. 동시성
13장 동시성
- 동시성의 개념, 동시 환경과 인터리빙 같은 다양한 속성 소개
- 비결정론적인 이유와 동시성 문제 발생 이유14장 동기화
- 경쟁상태, 데이터 경쟁 및 교착
- 문제 해결 방법과 세마포어, 뮤텍스, 조건 변수 설명15장 스레드 실행
- 여러 스레드를 실행하고 관리하는 방법과 예제
- 동시성 문제 예제16장 스레드 동기화
- 여러 스레드를 동기화 할 수 있는 기법
- 세마포어, 뮤텍스, 조건 변수 예제
Part6 프로세스 간 통신
17장 프로세스 실행
- 새로운 프로세스 생성 및 스폰
- 푸시 풀기반 기법 동시성 문제 실제 사례18장 프로세스 동기화
- 프로세스-공유 세마포어, 프로세스-공유 뮤텍스, 프로세스-공유 조건 변수 기법19장 싱글 호스트 IPC와 소켓
- 푸시 기반 프로세스 간 통신 기법(동일 머신 초점)
- 소켓 프로그래밍 소개
- 네트워크 상의 다른 노의 프로세스 간 채널 설정 시 필요한 배경20장 소켓 프로그래밍
- 유닉스 도메인 소켓, TCP, UDP소켓21장 다른 언어와의 통합
- 공유목적 빌드 C라이브러리가 로드되는 방식
- C++ 자바 파이썬 고 로 작성한 프로그램에서 해당 라이브러리 작동 방식
Part7. 테스트와 유지 보수
22장 유닛 테스트와 디버깅
- 테스트: C유닛 테스트 중심
- CMocka: 테스트 스위트 작성 라이브러리
- 디버깅 개념 디버그 도구23장 빌드 시스템
- Make, Ninja, Bazel빌드 시스템
- CMake 빌드 스크립트 생성기
Written with StackEdit.