태그: dlopen
3편
-
C++ 플러그인 시스템 만들기: dlopen·LoadLibrary, C ABI 인터페이스, 핫 리로드
앱을 다시 빌드하지 않고 기능을 추가하는 C++ 플러그인 시스템을 만듭니다. dlopen·LoadLibrary 추상화, extern "C" 인터페이스로 ABI 불일치를 막는 법, 버전 체크하는 플러그인 매니저, mtime 기반 핫 리로드를 구현합니다.
-
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 에러 해결, 크로스 플랫폼 래퍼도 다룹니다.