태그: 플러그인
5편
-
Tailwind CSS 커스텀 플러그인 | API·matchUtilities·테마·레이어
Tailwind 플러그인 API 구조, matchUtilities·matchVariant, theme() 해석, addBase/Components/Utilities 레이어 주입, 프로덕션 패턴까지 내부 동작 중심으로 정리합니다.
-
C++ 플러그인 시스템 만들기: dlopen·LoadLibrary, C ABI 인터페이스, 핫 리로드
앱을 다시 빌드하지 않고 기능을 추가하는 C++ 플러그인 시스템을 만듭니다. dlopen·LoadLibrary 추상화, extern "C" 인터페이스로 ABI 불일치를 막는 법, 버전 체크하는 플러그인 매니저, mtime 기반 핫 리로드를 구현합니다.
-
C++ 커스텀 컴파일러 패스 | Clang 플러그인·AST 변환·커스텀 진단
팀 코드 규칙을 컴파일 단계에서 강제하는 Clang 플러그인 작성법입니다. PluginASTAction 구조, RecursiveASTVisitor로 매직 넘버와 금지 함수 호출 탐지, DiagnosticsEngine 커스텀 경고, undefined symbol·플러그인 로드 실패 해결을 다룹니다.
-
C++ 동적 로딩: dlopen·LoadLibrary로 플러그인 불러오기와 크로스 플랫폼 래퍼
실행 시점에 .so/.dll을 골라 로드하는 방법을 Linux의 dlopen·dlsym과 Windows의 LoadLibrary·GetProcAddress 예제로 설명합니다. GPU 유무에 따른 조건부 로딩, cannot open shared object file 에러 해결, 크로스 플랫폼 래퍼도 다룹니다.
-
C++ 라이브러리 ABI를 깨지 않는 법: PIMPL, extern "C" 인터페이스, 버전 관리, 검증 도구
C++ 라이브러리 ABI 호환성: 구조체 레이아웃·vtable·name mangling이 깨지는 원리, extern "C" 경계와 크기 필드를 둔 확장 구조체, 시맨틱 버전과 SONAME·심볼 버전, abi-compliance-checker·libabigail로 CI에서 ABI 변경을 잡는 방법.