태그: 동적로딩
4편
-
C++ 플러그인 시스템 만들기: dlopen·LoadLibrary, C ABI 인터페이스, 핫 리로드
앱을 다시 빌드하지 않고 기능을 추가하는 C++ 플러그인 시스템을 만듭니다. dlopen·LoadLibrary 추상화, extern "C" 인터페이스로 ABI 불일치를 막는 법, 버전 체크하는 플러그인 매니저, mtime 기반 핫 리로드를 구현합니다.
-
C++ 크로스 플랫폼 기초: 플랫폼 감지 매크로, std::filesystem 경로, 동적 로딩 추상화
C++ 크로스 플랫폼 코드 기초: _WIN32/__linux__/__APPLE__ 감지와 기능 감지(__has_include), std::filesystem 경로, LoadLibrary/dlopen 추상화, 플랫폼 추상화 레이어, 타입 크기·엔디안·구조체 정렬 문제를 다룹니다.
-
C++ 핫 리로드 구현: 공유 라이브러리 재로딩, inotify·FSEvents 파일 감시, 상태 보존
C++ 핫 리로드를 dlopen/LoadLibrary 재로딩, inotify·FSEvents 파일 감시, 로드 전 복사로 파일 잠금 피하기, 호스트 소유 메모리로 상태 보존하기 순서로 구현하고, jet-live·Live++ 같은 도구와 비교합니다.
-
C++ 동적 로딩: dlopen·LoadLibrary로 플러그인 불러오기와 크로스 플랫폼 래퍼
실행 시점에 .so/.dll을 골라 로드하는 방법을 Linux의 dlopen·dlsym과 Windows의 LoadLibrary·GetProcAddress 예제로 설명합니다. GPU 유무에 따른 조건부 로딩, cannot open shared object file 에러 해결, 크로스 플랫폼 래퍼도 다룹니다.