2012-07-02 10 views
0

큰 외부 progam의 API와 인터페이스하는 C# .dll이 있습니다. 그것은이를 찾아 불평하지 않습니다C# dll의 엔트리 포인트 내보내기 - __declspec (dllexport) 같은 것이 있습니까?

extern void entrypoint(
char * a, 
int * b, 
int c); 

: 프로그램이 양식을 사용하여 DLL의 엔트리 포인트 기능을 기대하는

.

내 DLL의 원래/기본 진입 점은이다 : 나는

public static void entrypoint(char a, int b, int c) 

같은 함수를 만드는 시도했다 그러나 분명히 그 간단하지

public static void Main(string[] args) 

. C++에서 __declspec (dllexport)을 사용하여이 작업을 수행하는 방법에 대해 여러 번 보았습니다. C#에 대한 몇 가지 복잡한/해킹 된 솔루션을 보았지만이를 수행하는 간단한 방법이 있어야합니다. 어떤 아이디어?

+0

C#에서 dll (어셈블리) 메서드를 호출하려고합니까? 그렇다면 가능하지 않습니다 (쉬운 방법으로, 귀하의 C 응용 프로그램이나 COM에서 .net 호스팅없이) – Fox32

+0

가능한 중복 : http://stackoverflow.com/q/404521 –

+1

[C# 방법을 내보내는 방법? ] (http://stackoverflow.com/questions/2082159/how-to-export-c-sharp-methods) –

답변

1

외부 시스템이 COM 기반 인 경우 .NET이 커버 아래에있는 COM 개체이므로이 작업을 수행 할 수있는 방법이 있습니다.

에릭

+0

@TomNysetvold :이 "대답"은별로 말하지 않습니다. 질문에 대답이 있기 때문에 이곳에 오는 사람들은 실망 할 수 있습니다. –

+0

그래, 결국 외부 시스템에서 C 확장에 필요한 메소드 이름을 제공하는 오류가 발생했습니다. 샘플 코드에서 C# 확장에 정말 필요한 메소드 이름이 뭔가 다른 것을 발견했습니다. 일단 수정 되었다면 해결되었습니다. – TomNysetvold

+0

@RobertHarvey 내 의견보기. 결국 COM 또는 .NET 시스템처럼 보입니다. 그것은 단지 나에게 부적절한 에러 메시지를주고 있었고, 메소드를 멍청한 샘플 코드에서 발견 된 옳은 이름으로 변경하자마자 제대로 작동했다. 그래서 이것은 정말로 올바른 대답이었다. – TomNysetvold

관련 문제