Skip to content
Beside the Wheel
Search
Ctrl
K
Cancel
Email
GitHub
Select theme
Dark
Light
Auto
공부
(5)
spot 인스턴스에서 서버 가용성 개선하기
eBPF로 서버 성능 Profiling하는 법: Pyroscope의 구현 살펴보기
정수론부터 RSA까지
strace로 shaka-packager 버그 추적
Kubernetes The Hard Way
TIL
(959)
AI
(43)
DevOps
(230)
Network
(61)
OS
(155)
개발
(113)
데이터베이스
(65)
서버
(72)
수학
(20)
알고리즘
(25)
암호학
(32)
언어
(114)
컴퓨터구조
(5)
코드
(24)
독후감
(43)
과학
(1)
사회
(2)
산문
(3)
소설
(12)
인문
(11)
자기계발
(7)
철학
(7)
생각
(6)
고민
변화에 대하여
의식의 영역에 대하여
본질을 보려면
짧은 생각들
소유냐 존재냐
회고
(14)
2022.03-04 대덕소마고 입학소감/다짐
2022.05-08 프로젝트와 인간관계
2022.09-2023.02 불안과 판단
2023.03-07 DMS 리더 회고
2023.08-11 나는 누구인가?
2023.12 더 많은 걸 배우기 위한 경험
2024.01-02 회사 인턴 회고
2024.03-04 고3 근황
2024.05-07 고등학교 마무리
2024.08-12 첫 회사
2025.01-03 입출력
2025.03-08 효능감이란 무엇일까
2025.09-12 연말회고
2026.01-08 담론
Email
GitHub
Select theme
Dark
Light
Auto
태그: c
총 2개의 글이 있습니다.
gdb
c
2026. 9. 13.
gdb(GNU Debugger)는 실행 중인 프로그램을 멈추고 그 시점의 변수, 메모리, 콜 스택, 레지스터를 들여다볼 수 있게 해주는 디버거다. printf 디버깅과 달리 프로그램을 다시 컴파일하지 않고도 원하는 위치에서 멈춰 상태를 확인하고, 값을 바꿔서 이어 실행하거나, 이미 죽은 프로세스가 남긴 코어 파일을 사후 분석할 수 있다. 이 문서의 출력은 Ubuntu 24.04(aarch64)의 gcc 13.3 / gdb 15.1 환경에서 실제로 실행한 결과다. macOS는 gdb 대신 lldb가 기본이고, Apple Silicon에서 gdb를 쓰려면 Docker 등 리눅스 환경이 필요하다. 준비: `-g`로 컴파일 gdb가 소스 라인, 변수 이름, 타입을 알려면 실행 파일에 디버그 정보(DWARF)
비트 연산 내장 함수
c
2026. 3. 22.
GCC/Clang이 제공하는 비트 연산 내장 함수(builtin)들이다. 대부분 하드웨어 명령어(`popcnt`, `lzcnt`, `tzcnt` 등)로 컴파일되어 O(1)에 동작한다. 각 함수는 `unsigned int`용이 기본이고, `l` 접미사는 `unsigned long`, `ll` 접미사는 `unsigned long long`용이다. (예: `__builtin_clz`, `__builtin_clzl`, `__builtin_clzll`) `signed` 타입을 넘겨도 동작하지만, 이 함수들은 숫자의 값이 아니라 메모리에 저장된 비트 패턴 자체를 다루기 때문에 양수/음수 개념 없이 그냥 0과 1의 나열로 처리한다. 예를 들어 `-1`은 모든 비트가 1이므로 `__builtin_popcount(-1)`