CMake: target_link_libraries 사용법
CMake로 여러 타깃을 나눠 빌드하다 보면 "라이브러리는 분명히 링크했는데 헤더를 못 찾는다"는 에러를 자주 마주친다. 원인은 대부분 target_link_libraries의 PUBLIC/PRIVATE/INTERFACE 키워드를 잘못 골랐기 때문이다. 이 세 키워드는 단순히 "링크한다/안 한다"가 아니라,…
CMake로 여러 타깃을 나눠 빌드하다 보면 "라이브러리는 분명히 링크했는데 헤더를 못 찾는다"는 에러를 자주 마주친다. 원인은 대부분 target_link_libraries의 PUBLIC/PRIVATE/INTERFACE 키워드를 잘못 골랐기 때문이다. 이 세 키워드는 단순히 "링크한다/안 한다"가 아니라,…
이번 주 LWN.net 위클리 에디션 주요 내용이다. 커널 crypto/CRC API를 라이브러리 형태로 재편 중인 작업, 파일시스템 iomap 계층 해설, LSFMM+BPF 서밋 후속 세션(negative dentry 제한, 더 빠른 RCU와 락 없는…
리눅스 커널의 CPU 스케줄러(CFS 등)는 범용 워크로드에 맞춰 설계됐지만, 게이밍처럼 짧은 지연시간이 중요한 워크로드와 데이터센터의 처리량 위주 워크로드, 배터리 절약이 우선인 모바일 워크로드를 하나의 스케줄링 정책으로 동시에 만족시키기는 어렵다. 과거에는…
C++ 프로젝트가 파일 몇 개를 넘어서면 컴파일 명령이 금방 복잡해진다. 소스 파일이 여러 디렉터리에 흩어지고, 라이브러리를 따로 빌드해서 링크해야 하고, 리눅스에서는 GCC, macOS에서는 Clang, 윈도우에서는 MSVC를 각각 다르게 호출해야 한다.…
2026년 7월 첫째 주, 우분투 진영에서 한꺼번에 여러 소식이 쏟아졌습니다. 지난 4월 출시된 26.04 LTS "Resolute Raccoon"이 첫 포인트 릴리스를 앞두고 있는 와중에, 7월 1일에는 20.04 LTS부터 26.04 LTS까지 모든…
2026년 7월 8~9일 파리에서 열린 글로벌 AI 콘퍼런스 레이즈 서밋(Raise Summit) 2026에 한국 AI 반도체 스타트업 리벨리온과 퓨리오사AI가 나란히 참가했다. 구글 클라우드, AWS를 포함해 약 9,000명의 관계자와 350명의 연사가 모인…
Docker 컨테이너를 쓰다 보면 컨테이너마다 독립된 IP와 라우팅 테이블을 갖는다는 걸 당연하게 받아들이게 되지만, 정작 그 격리를 커널이 어떤 메커니즘으로 제공하는지 직접 만들어본 적은 드물다. Docker의 기본 브리지 네트워크는 사실…
라즈베리파이 4 이하에서 잘 동작하던 RPi.GPIO 기반 코드를 라즈베리파이 5에 그대로 올리면 GPIO 핀 제어가 먹통이 되는 경우가 많다. Pi 5부터는 GPIO·USB·이더넷·카메라 등 외부 인터페이스를 처리하는 RP1이라는 별도 I/O 칩이…
Python 스크립트에서 셸 명령어나 외부 프로그램을 호출해야 하는 상황은 흔하다. os.system()은 출력을 캡처할 수 없고, os.popen()은 에러 처리와 스트림 제어가 번거롭다. 특히 자동화 스크립트에서 외부 명령의 표준출력/표준에러를 각각 받아 로그로…
sed는 스트림 편집기(stream editor)로, 텍스트 스트림을 편집하고 변환하는 데 사용되는 강력한 도구이다. sed는 주로 리눅스 및 유닉스 환경에서 활용되며, 특히 스크립트 및 대량 텍스트 처리에 유용하다. 이 글에서는 sed 사용법에…