Qt 기반 C/C++ 호환 라이브러리 개발 및 내보내기 기법

크로스 플랫폼 라이브러리 인터페이스 설계 Qt 프레임워크를 사용하여 네트워크 통신 기능을 제공하는 라이브러리를 개발할 때, 해당 라이브러리를 다양한 C++ 및 C 환경에서 사용할 수 있도록 인터페이스를 설계하는 것이 중요합니다. 이 라이브러리의 주요 역할은 TCP 프로토콜을 통해 특정 메시지 패킷을 하위 계층으로 전송하는 것입니다. 헤더 파일 인터페이스 정의 ...

9월 28일 20:41에 게시됨

Windows DLL 로딩과 동적 연결 메커니즘 분석

DLL 로딩 및 런타임 바인딩의 핵심 프로세스 윈도우 운영체제에서 DLL(Dynamic-Link Library)은 코드 공유와 재사용의 기본 단위다. 일반적인 Win32 애플리케이션은 시작 시 ntdll.dll, kernel32.dll 등의 핵심 라이브러리를 자동으로 로드하며, 이 과정은 사용자 모드의 LDR(Load Resolver) 서브시스템에 의해 처리된다. 본 문서는 DLL 파일을 메모리에 매핑하고 외부 함 ...

8월 22일 06:46에 게시됨

C#에서 C++ DLL 호출하는 방법

C#에서 C++ DLL을 호출해야 하는 경우 C#으로 클라이언트 애플리케이션을 개발하다 보면 종종 네이티브 C++ 라이브러리를 사용해야 하는 상황이 발생합니다. 이때 P/Invoke(Platform Invoke) 기능을 활용하면 C# 프로그램에서 C++로 작성된 DLL을 호출할 수 있습니다. 본 문서에서는 Visual Studio 2022 환경에서 C++ DLL을 생성하고 C#에서 호출하는 전체 과정을 단계별 ...

8월 3일 09:47에 게시됨

C#에서 플러그인 DLL 동적 로딩 및 핫 스왑 구현

애플리케이션 실행 중 DLL 파일을 동적으로 로드하거나 언로드할 수 있는 플러그인 아키텍처는 유연한 확장성을 제공합니다. 이 방식은 새로운 기능을 추가하거나 기존 기능을 수정할 때 전체 애플리케이션을 재시작하지 않아도 된다는 장점이 있습니다. 이 글에서는 C# WebAPI 프로젝트를 기준으로 플러그인 DLL을 동적으로 로딩하는 방법을 단계별로 설명합니다. 1. 인 ...

7월 1일 20:12에 게시됨