안녕하세요
C# 에서 C++ DLL 사용방법을 검색해보니 P/Invoke, 마샬링, C++/CLI 세가지 방법을 알게되었습니다
P/Invoke 는 C형태의 함수를 호출할때만 사용이 가능하고
DLL 에 있는 C++ 클래스를 쓰고싶을때엔 C++/CLI 를 사용해야한다 라고 이해하고있습니다
주로 C++/CLI 를 추천하는것같아서 이것을 공부해보려는데 이부분에 대해서 자세히 나온 책도 없는것같고
인터넷 검색으로만 알아보고있습니다..
여기서 궁금한건
1. C++/CLI 을 사용하는이유
C#에서는 문법이 다른 C++ 객체를 생성할 수 없으므로
C++ 문법을 인식할 수 있는 C++/CLI 로 C++ 객체를 생성한다
라고 이해했는데 이게 맞는건가요?
2. C++ DLL 을 닷넷 DLL 로 wrapping
c++/cli 를 사용하면 native dll 을 래핑하여 컴파일하면
MSIL 형태의 닷넷 DLL 을 생성하므로
응용프로그램에서는 이것을 일반적인 닷넷 DLL 사용하듯이 사용하면된다
라고 이해했는데 이것도 맞는지 궁금합니다
감사합니다~~
[최초 등록일: ]
[최종 수정일: 9/7/2022]