2011-10-18 5 views
0

C++ 응용 프로그램에 C# .NET GUI를 추가하고 싶습니다. C++ 응용 프로그램은 매우 간단하지만 포인터 및 참조가 있습니다.C++ 응용 프로그램에 추가 C# GUI

C#에서이 포인터와 참조를 인식하는 가장 좋은 방법은 무엇입니까?

답변

3

몇 가지 방법이 있습니다. 여기에 몇 가지가 있으며, 취향과 프로젝트에 따라 다릅니다.

a) C++ 프로젝트가 COM으로 작성된 경우 COM interop을 사용하십시오.

b) COM interop을 사용하면 COM 래퍼를 C++ 응용 프로그램에 작성하고 C#에서 사용할 수 있습니다.

c) C++/CLI를 사용하여 프로젝트를 Managed C++ 응용 프로그램으로 변환하고 C++ 코드를 사용하는 C++에서 관리되는 클래스를 만듭니다. C++ dll 또는 정적 라이브러리를로드하는 관리되는 C++ dll을 작성할 수도 있습니다.

d) P INVOKE C 호출을 사용하고 C++ 클래스에서 작동하는 C++ 코드에서 DLL C 함수를 내보내고 [dllimport] 특성을 사용하여 C#에서 C 함수를 호출합니다. IntPtr 유형과보다 안전하고 안전한 SafeHandle을 사용하여 포인터와 참조를 표현할 수 있습니다.

모든면에서 좋은 점과 단점이 있지만 나열된 모든 기술에는 "중간 계층"이 필요하며 C#에서 직접 C++ 코드를 호출 할 수는 없습니다.

2

C# 기반 UI 응용 프로그램에서 C++ 프로그램으로 작성된 기능을 사용하고 싶다면 올바르게 이해하십시오.

C++/CLI 기반 dll을 만들어이 작업을 수행 할 수 있습니다. C++/CLI는 C++ 코드를 쉽게 호출 할 수 있으며 C#은 C++/CLI 코드를 쉽게 호출 할 수 있습니다. 이 방법으로 C++ 기반의 프로그램에서 C++로 작성된 기능을 사용할 수 있습니다.

모든 가능한 방법은 this을 참조하십시오.

관련 문제