[C# DLL 파일 생성 및 C++ 연동법 ]

1. C#에서 DLL파일 생성 

0) VS 관리자 권한으로 실행! 
1) 새 프로젝트 - 클래스 라이브러리(.NET Framework) 
2) using System.Runtime.InteropServices; 코드 추가 
3) 프로젝트 우클릭 - 속성 - 응용프로그램 - 어셈블리 정보 - 어셈블리를 COM에 노출 체크 
4) 빌드 - COM interop 등록 체크 
5) 도구 - GUID 만들기 - 5번 항목 복사 
6) 클래스 위에 GUI 붙여넣기 
7) Class를 Interface로 변경 
8) Interface에 메소드 선언 
9) 아래(같은 레벨)에 Interface를 상속받은 클래스 선언(사용될 클래스) 
10) 쓰레드 사용시 반드시 static으로 선언 
11) C# 코드 빌드 
12) 프로젝트 내 \bin\debug\'프로젝트명'.dll 생성 확인 
13) VS 개발자 명령 프롬프트 관리자 권한으로 실행! 
14) 디렉토리를 프로젝트\bin\debug\로 변경 
15) regasm '파일이름'.dll /tlb:'파일이름'.tlb 실행 

2. C++에서 C# DLL파일 사용 

0) VS 관리자 권한으로 실행! 
1) include 밑에 #import "파일이름.tlb" no_namespace named_guids 추가 
2) 'C#클래스명' *'객체이름' = NULL; 
3) CoInitialize(NULL); 
4) HRESULT hr = CoCreateInstance(CLSID_'인터페이스명', NULL, CLSCTX_INPROC_SERVER, IID_'클래스명', reinterpret_cast<void**>(&'객체이름')); 
5) if (SUCCEEDED(hr)) 후 '객체이름'->'메소드명' 으로 사용

'C, C++' 카테고리의 다른 글

C/C++ 구조체 사용법 및 예제  (1) 2018.10.08
C/C++ 배열 사용법  (0) 2018.10.05
C 파일처리  (0) 2018.10.02
C++ 벡터 사용법  (2) 2018.09.26
C언어 포인터  (8) 2018.09.25
C++ 자바 상속 비교  (0) 2018.09.08
C 랜덤 - 난수 생성하기  (7) 2018.09.06
C++ String 문자열 사용법 정리  (0) 2018.08.20

to Top