2013-12-09 4 views
0

프로젝트를 진행 중입니다. C++ 코드는 C#으로 작성된 클래스 라이브러리를 참조합니다. C# 클래스 라이브러리에 Object of C++ 클래스를 전달하고 싶습니다. 가능합니다. 예인 경우 어떻게하는지 알려주십시오. ?? 그렇지 않으면 C# 클래스 라이브러리에 약 100 개의 인수를 전달해야합니다.C# Object를 C# 클래스 라이브러리에 전달하는 방법

감사합니다, 비벡

+1

도움이 될 수 있습니다. http://stackoverflow.com/a/17189858/1814023 –

답변

0

당신이 marshling를 사용 말아야.

마샬링은 관리 코드와 비 관리 코드 간 브리지를 만드는 프로세스입니다. 관리 된 환경에서 관리되지 않는 환경으로 메시지를 운반하고이를 뒤집는 것은 호머입니다. 그것은 CLR에서 제공하는 핵심 서비스 중 하나입니다 (공용 언어 런타임.)

여기 읽기 네임 스페이스 System.Runtime.InteropServices.Marshal

이 옵션이있는 경우 좋은 블로그에 대한 marshling

0

, 당신은 CPP 파일을 추가 할 수 있습니다 CLR (관리되는 C++)을 사용하여 컴파일 될 프로젝트에 추가합니다. 관리되는 C++에서 C# 클래스를 호출 할 수 있습니다. 당신은 찾아 여기에 예 수

Managed C++ to form a bridge between c# and C++

또 다른 옵션은 C 사이의 다리 ++와 같은 관리되는 C++ DLL을 만드는 것입니다 .NET 당신은 당신의 전화 네이티브 응용 프로그램에서 CLR을 사용하지 않으려면. 이 트릭을 사용하고 잘 작동하지만 일단 브리지 DLL 라이브러리를로드하면 CLR이 메모리에로드되고 프로세스가 CLR에 "감염"된다는 사실을 알고 있어야합니다. 어쨌든 그 효과가 있습니다.

관련 문제