게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++DLL을 C#개발자한테 제공해줄때는 어떻게 해야 할까요?
게시물ID : programmer_8710짧은주소 복사하기
작성자 : 게임할줄몰라
추천 : 0
조회수 : 2704회
댓글수 : 7개
등록시간 : 2015/03/18 14:49:26
옵션
  • 본인삭제금지

제가 만든 어떤 제품(하드웨어)을 제어할 수 있는 DLL을 만들고있습니다.

그리고 제품 구매자들한테 DLL을 줘야 해요.

DLL은 C++로 제작하고있습니다. 이 DLL은 MFC개발자와 C#개발자들이 사용가능하도록 만들고 싶어요.


dll, lib, h 파일을 받은 MFC개발자는 아마 별 문제 없을겁니다.

문제는 C#쪽인데요.


처음 시도해 보는 방법으로는 C#에서 [DllImport(...)] 방식으로 했었어요.
전역함수는 호출할 수 있지만 Class는 안되는거 같더군요.

그래서 ManagedDLL을 추가 제작해서 테스트 해보니 되긴 합니다.

MyDLL -> MyDLL_Wrapper -> C#

이렇게 중간에서 연결고리? 같이 해주니까 되긴 하네요 ㅋㅋ

C# 개발자 입장에서는 [DllImport()] 방식이 더 편한가요?
아니면 DLL을 참조추가해서 using해서 사용하는 방법이 더 편한가요?



그리고 또 한가지

DLL을 제공해줄때 X86, X64 두가지 다 제공해줘야 하나요?

X86으로 제작된 DLL을 C#에서 사용하려니까 자꾸 에러가 뜹니다. (System.BadImageFormatException)

플랫폼을 Any CPU에서 X86으로 바꿔서 하니 정상동작을 하네요. 헐...

아무래도 X86, X64 둘다 제공해줘야겠죠?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호