dll5 C++ DLL 을 C# 에서 사용하기 (구조체) 1. 프로젝트 만들기 및 속성은 이전 글 확인 C++ DLL 을 C# 에서 사용하기 C++ DLL 을 C# 에서 사용하기 1. Visual Studio 에서 솔루션 구성을 위한 빈 솔루션 생성 기타 프로젝트 형식 - Visual Studio 솔루션 - 빈 솔루션 2. C++ DLL 프로젝트 생성 추가 - 새 프로젝트 Visual C++ - Windows 데스크톱 - DLL(동적 연.. doublerabbits.tistory.com 2. CppLib - dllmain.cpp // dllmain.cpp : DLL 애플리케이션의 진입점을 정의합니다. #include "pch.h" BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID .. 2022. 8. 29. C++ DLL 을 C# 에서 사용하기 1. Visual Studio 에서 솔루션 구성을 위한 빈 솔루션 생성 기타 프로젝트 형식 - Visual Studio 솔루션 - 빈 솔루션 2. C++ DLL 프로젝트 생성 추가 - 새 프로젝트 Visual C++ - Windows 데스크톱 - DLL(동적 연결 라이브러리) 3. CppLib 프로젝트 속성 변경 출력 디렉토리 변경 기존 : $(SolutionDir)$(Configuration)\ 변경 : $(SolutionDir)CSApp\bin\$(Configuration) 4. C# App 프로젝트 생성 추가 - 새 프로젝트 다른 언어 - Visual C# - Windows Desktop - 콘솔 앱(.NET Framework) 5. 프로젝트 구성 완료 6. CSApp 시작 프로젝트로 설정 7. C.. 2022. 8. 29. PInvokeStackImbalance 기존 아래와 같이 사용하던 코드에서 에러가 발생 [DllImport("CppLib.dll")] CallingConvention 추가 [DllImport("CppLib.dll", CallingConvention = CallingConvention.Cdecl)] C++ : Cdecl Delphi : StdCall C++ DLL 을 C# 에서 사용하기 C++ DLL 을 C# 에서 사용하기 1. Visual Studio 에서 솔루션 구성을 위한 빈 솔루션 생성 기타 프로젝트 형식 - Visual Studio 솔루션 - 빈 솔루션 2. C++ DLL 프로젝트 생성 추가 - 새 프로젝트 Visual C++ - Windows 데스크톱 - DLL(동적 연.. doublerabbits.tistory.com 2022. 8. 29. Callback function Callback function EXE 함수를 DLL 에서 호출 DLL extern "C" __declspec(dllexport) void __stdcall DLL_SetErrorFunction(LPVOID fp); caller.h void(*fpErrorFunction)(int errorNum); void ErrorFunction(int errorNum); void SetErrorFunction(LPVOID fp); caller.cpp caller() { fpErrorFunction = NULL; } void caller::SetErrorFunction(LPVOID fp) { fpErrorFunction = (void(__cdecl*)(int))fp; } void caller::ErrorFunction.. 2022. 7. 18. 기존 프로젝트에 라이브러리 프로젝트 추가 1. 기존 프로젝트에 추가하고자 하는 Library project 를 생성한다. MCP_UI : 기존 프로젝트 MCP_UIL : library project 신규 추가 2. 기존 프로젝트 참조에 추가한 라이브러리 프로젝트 추가 3. 라이브러리 프로젝트에 "리소스 사전" 추가 4. 기존 프로젝트에 ResourceDictionary 추가 MCP_UI.App.xaml 내용 수정 2022. 7. 9. 이전 1 다음