♣ 개발/C#

managed dll 생성 : C++/CLI 이용

SlowDreamer 2015. 8. 10. 18:34

출처 http://six605.tistory.com/384


C/C++ 코드를 .net환경에서 사용하기 위한 방법중 한가지는 wrapper class를 통한 방법이다.


* Managed DLL 만들기

C#에서 native code를 이용하기 위해선 Managed DLL을 생성해야 한다.

native code를 컴파일하여 생성한 Library파일을 이용하거나 소스코드를 이용하여 Managed DLL을 생성 할 수 있다.


방법1) 'Native source code의 Library'를 사용하는 경우

1. Native code -> Lib 생성

새 프로잭트 만들기 -> C++ -> Win32 -> Win32콘솔 응용 프로그램 선택

응용프로그램 종류 : 정적라이브러리



위의 코드를 컴파일하면 UnmanagedCal.lib 파일이 생성된다.


2. Wrapping

새로운 프로잭트 생성 -> C++ -> CLR -> 클래스 라이브러리 선택

1) ManagedCal프로젝트 속성 -> 링커 -> 일반 -> UnmanagedCal 라이브러리 파일이 있는 디렉터리의 경로를 추가


2) ManagedCal프로젝트 속성 -> 링커 -> 입력 -> 추가 종속성에 UnmanagedCal.lib 입력


3) ManagedCal.h에 native code의 헤더파일 include할 것


Native 함수를 호출하여 wrapping 작업을 해준다.

wrapping 작업을 완료후 컴파일하면 managedCal.dll이 생성된다.

## .Net환경에서 managed dll 사용 ##

참조 -> 참조추가 -> 생성한 dll 추가

using 지시자 사용

반응형

'♣ 개발 > C#' 카테고리의 다른 글

C#에서 C++ API 사용1 ( 함수 마샬링 )  (0) 2016.07.18