2012-07-02 62 views
0

我有一個與大型外部程序的API接口的C#.dll。導出C#dll的入口點 - 是否有類似__declspec(dllexport)的東西?

該方案預計與形式的dll的入口點函數:

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

它不覺得這和抱怨。

原始/默認入口點我的DLL就是:

public static void Main(string[] args) 

我試圖創建一個功能類似

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

但它顯然並非如此簡單。我已經看到了很多關於如何在C++中使用__declspec(dllexport)來做到這一點的事情,並且我已經看到了一些針對C#的複雜/冒險解決方案,但似乎應該是一種直接的方式來實現它。有任何想法嗎?

+0

您是否嘗試從c調用c#dll(assembly)中的方法?如果是的話,這是不可能的(以一種簡單的方式,沒有在您的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對象。

Erick

+0

@TomNysetvold:這個「答案」真的不多說。因爲這個問題有一個被接受的答案,來這裏的人可能會失望。 –

+0

是的,最後外部系統拋出一個錯誤,給出我需要在C擴展中的方法名稱;我在一個示例代碼中發現,我在C#擴展中真正需要的方法名是別的,一旦我修復它的工作。 – TomNysetvold

+0

@RobertHarvey查看我的評論。畢竟,它看起來像是一個COM或.NET系統。這只是給我一個不恰當的錯誤信息,只要我將方法重命名爲正確的東西(在一個不起眼的示例代碼中找到),它就起作用了,所以真的這是正確的答案。 – TomNysetvold

相關問題