2014-01-13 2 views
0

CS 사용자가 아닌 내 보스 (Bos)는 그를 위해 C#으로 DLL을 개발하도록 요청했습니다. 내 측면에 대한 추가 조사는 dll이 cdec 규칙에 있어야 함을 나타냅니다.__cdecl 규칙의 C# dll

이 프로젝트를 맡을 경우 첫 번째 DLL 개발이 될 것입니다.

구글을 통해 검색하는 것이 가능하지만, 내가 보스에게 말하기 전에 할 수 있습니다.이 문제와 관련하여 조언을 구하고 싶습니다. (가정이나 시간 또는 코드 품질이 주요 문제이지만이를 수행해야합니다.)

이러한 가능성에 대한 의견은 크게 환영 할 것입니다.

+0

1. cdecl 규칙을 사용해야한다고 생각하는 이유는 무엇입니까? 2. 그렇다면 C#을 사용해야하는 이유는 무엇입니까? –

+0

1. dll은 VB를 기반으로하는 심리 연구용으로 지정된 소프트웨어 용이며 dll은 C/C++에서 개발되었으며 cdecl을 사용하여 컴파일해야합니다. 2. 개발 한 후에는 C# 만 알고있는 다른 프로그래머도이를 유지 관리 할 수 ​​있습니다. C#에서 솔루션을 사용할 수없는 경우 C++을 사용합니다. – vlady

답변

1

관리되지 않는 함수 내보내기를 찾는 것처럼 들립니다. C#에서이를 달성 할 수있는 방법은 없습니다. Robert Giesecke의 Unmanaged Exports을 사용할 수 있습니다. 이것은 편집하는 동안 방출 된 IL을 수정하여 관리되지 않는 내보내기를 허용하는 일부 마법을 수행합니다.

.net DLL에서 관리되지 않는 기능을 내보내려면 공식적으로 지원되는 방법은 혼합 모드 C++/CLI 어셈블리를 만드는 것입니다.

관리되지 않는 코드로 기능을 내보내는 또 다른 방법은 C# 코드에서 COM 서버를 노출하는 것입니다.