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
태그: elf
총 3개의 글이 있습니다.
라이브러리
elf
2026. 2. 4.
리눅스에서 프로그램이 실행될 때, 대부분의 경우 외부 라이브러리의 코드를 필요로 한다. 이 라이브러리들이 프로그램에 어떻게 연결되고, 시스템이 어디서 라이브러리를 찾는지 이해하는 것은 리눅스 시스템 관리와 개발에서 핵심적인 지식이다. 프로그램이 외부 함수를 호출할 때, 그 함수의 실제 코드가 어디에 있는지 연결해주는 과정을 링킹(Linking)이라 한다. 링킹은 두 가지 방식으로 수행된다. 정적 링킹 (Static Linking) 컴파일 시점에 라이브러리 코드를 실행 파일에 직접 복사한다. bash 정적 라이브러리 생성 gcc -c mylib.c -o mylib.o ar rcs libmylib.a mylib.o 정적 링킹으로 컴파일 gcc main.c -L. -lmylib -static -
ELF
elf
2024. 3. 25.
ELF는 Executable and Linking Format의 약어로, UNIX / LINUX 기반에서 사용되는 실행 및 링킹 파일 포맷이다. 사용하는 운영체제는 유닉스, BSD, 솔라리스, 리눅스가 있다. (같은 바이너리 포멧이어도 각 운영체제간에는 호환이 되지 않는다.) ELF 파일은 아래와 같은 구조를 가지고 있다. |구조| |-| |ELF Header| |Program header table| |.text| |.rodata| |.data| |Section header table| ELF header ELF 헤더는 파일의 시작 부분에 있고, 파일에 대한 메타데이터를 가지고 있다. ELF 헤더에는 프로세서 아키텍처에 대한 정보가 포함되
SEC()
elf
2024. 3. 25.
`SEC()`은 ELF Section을 정의하는 매크로이다. `/`로 접두사를 구분하기도 한다. (e.g. `kprobe/slub_flush`) eBPF Section `license` c SEC("license") = "Dual MIT/GPL"; 프로그램에서 특정 BPF helper를 특정하여 사용하려면 GPL 호환 라이선스 하에 라이선스를 선언해야한다. BPF 프로그램의 라이선스는 커널 모듈 라이선스와 동일한 규칙을 따른다. ([라이선스 목록 참고]( `.map` `.maps` 섹션을 정의하면 libbpf가 해당 섹션을