2010-05-26 3 views
0

Visual Studio 2003 VC++로 작성된 코드에서 액세스 할 수있는 C# 또는 VC++로 DLL을 작성할 수 있어야합니다. 코드가 관리되지 않는 것처럼 보이며 (포인터 용으로 * 사용) VC++와이 DLL은 현재 코드에서 오른쪽으로 떨어 뜨려 액세스 할 수 있어야합니다.VS 2003에서 액세스 할 수있는 DLL 작성 VC++ 코드

DLL은 오류 코드에 대해 int를 반환하고 참조로 일부 측정 값을 호출 프로그램에 되돌려 보낼 수 있어야하는 RS232 드라이버입니다.

이 코드를 C#으로 작성할 수 있습니까? 그렇지 않은 경우 Visual Studio 2005 또는 2008에만 액세스 할 수 있습니다. 둘 중 하나에서 코드를 작성할 수있게되고 해당 DLL을 현재 코드 기반에서 호출 할 수 있습니까? 아니면 VS 2003 사본을 얻기 위해 이베이를 살펴보아야합니까?

답변

0

VS2008/2005의 C/C++에서 작성된 관리되지 않는 DLL은 VS2003 C/C++ 프로젝트에서 코드를 호출해도 문제가 없습니다. 그것은 또한 최소한의 저항의 길일 것입니다. DLL이 VS2003에서 사용할 수없는 다른 DLL을 참조하는 경우 가능하면 재배포하거나 그렇지 않으면 정적으로 링크하십시오.

관리되는 DLL도 가능하지만 조금만 glue code to bridge the managed/unmanaged gap이 필요합니다. VS2003이 지원하는 .NET 런타임 버전 (1.1)을 대상으로 삼아야합니다.

+0

안녕하세요, 귀하의 회신에 감사드립니다 내가 가진 유일한 문제는 호출 코드가 VS 2003 VC++입니다. 현재 코드는 내 DLL을 사용하여 VC++로 작성할 RS232 함수에 액세스해야합니다. VS 2003 코드로 직접 액세스 할 수있는 VS 2005 또는 2008 VC에서 비 관리 DLL을 컴파일 할 수 있습니까? – John

+0

예. DLL 바이너리 형식은 수년 동안 지금까지도 (수십 년 동안) 일관성이있었습니다. DLL은 일반적으로 DLL을 만든 여러 버전에서 작동합니다. –

관련 문제