블로그
-
C 언어 시리즈 #03 — 제어 흐름: 분기·스위치 테이블·setjmp와 스택
분기 예측·switch 점프 테이블 휴리스틱, Duff’s device의 유지보수 비용, goto 정리 패턴과 setjmp/longjmp가 스택·VLA·비국소 점프와 충돌하는 이유를 호출 규약·C 표준 제약과 연결해 설명합니다.
-
C 언어 시리즈 #04 — 함수·스택 프레임·호출 규약(ABI)과 가변 인자
System V AMD64·Windows x64 인자 레지스터·스택 슬롯·16바이트 정렬, 프레임 포인터 생략 시 디버깅·언와인드 영향, va_list 스필 순회와 가변 인자 API의 타입 안전 결여, 인라인·심볼 가시성까지 정리합니다.
-
C 언어 시리즈 #05 — 포인터 연산·엄격 별칭(strict aliasing)·유효성
포인터 덧셈·one-past-the-end, 엄격 별칭으로 최적화가 깨지는 경로, restrict 계약, effective type·memcpy 패턴, C23 provenance 개념을 엮어 UB·-fstrict-aliasing·Sanitizer 대응까지 연결합니다.
-
C 언어 시리즈 #06 — 배열·디케이(decay)·문자열 리터럴·VLA | 실전 가이드
배열 decay·sizeof 예외·함수 매개변수에서 길이 소실, 문자열 리터럴의 읽기 전용 세그먼트, VLA가 스택 예산을 흔드는 방식과 대안(고정 버퍼·힙), UTF-8 리터럴과 다국어 처리 경계를 프로덕션 관점에서 정리합니다. 실무에서 바로 적용 가능한 5가지 핵심 패턴을 배우세요.
-
C 언어 시리즈 #07 — 구조체·공용체·비트필드·패딩과 ABI
ABI 고정 레이아웃·offsetof·_Static_assert 검증, 패딩과 캐시 가짜 공유, union active member·effective type, 비트필드 엔디안·정렬 의존과 레지스터 맵·원격 프로토콜에 enum 직접 박지 말아야 하는 이유를 연결합니다.
-
C 언어 시리즈 #08 — 전처리기 8단계·매크로·_Pragma·번역 단위 경계
ISO C 전처리 8단계 논리 모델, #include 텍스트 합성과 번역 단위 경계, 함수형 매크로의 다중 평가·#/## 함정, 표준 _Pragma·include guard·조건부 컴파일로 ODR 유사 문제를 줄이고 헤더 의존 순서를 안정화하는 방법을 정리합니다.
-
C 언어 시리즈 #09 — 동적 메모리·단편화·할당기·Sanitizer·프로덕션 패턴
malloc/realloc 실패·누수 패턴, 힙 단편화·메타데이터, 아레나·풀·스레드 로컬 캐시 트레이드오프, calloc 의미, ASan·Valgrind·malloc_stats로 검증하는 프로덕션 워크플로를 한 흐름으로 정리합니다.
-
C 언어 시리즈 #10 — 컴파일 파이프라인·링커 심볼·정적·동적 링크
cpp→cc→as→ld 파이프라인, 목적 파일의 재배치·심볼 테이블, 링커의 미해결·중복 정의, -fPIC·PLT/GOT·rpath·nm/readelf 진단, 정적·동적 링크 차이와 보안 플래그(RELRO 등) 개요를 한글로 정리합니다.
-
C++ 핵심 키워드 완벽 가이드 | static·extern
C++ 주요 키워드의 모든 것. static, extern, const, constexpr, inline, volatile, mutable의 의미, 사용법, 링키지, 메모리 레이아웃, 성능 특성, 실전 활용 패턴까지 완벽 정리.
-
C++ static 함수 완벽 가이드 | 클래스 static·파일 스코프·내부 링키지 심층 분석
C++ static 함수의 모든 것. 클래스 static 멤버 함수, 파일 스코프 static 함수, 내부 링키지, ODR, 메모리 레이아웃, 성능 특성까지 실전 예제와 함께 완벽 정리.