1
我有一個C++ dll。我必須在c#代碼中使用此dll。在這個DLL中:用C調用C++函數#
struct UserRecord
{
int login;
//some properties here
}
struct CServerInterface
{
int __stdcall ClientsAddUser(UserRecord *inf);
//some other functions here
}
我怎樣才能在結構中調用一個函數?我試試這個:
[DllImport("WebRegistration.dll")]
public extern static int ClientsAddUser(ref UserRecord inf);
public struct UserRecord
{
//properties here
}
static void Main(string[] args)
{
UserRecord user = new UserRecord();
ClientsAddUser(ref user);
}
拋出異常:「無法在DLL中找到名爲'ClientsAddUser'的入口點」。
我想如果這個函數不在結構體中,我不會拋出異常。
是的,這是永遠不會工作。因爲它是C++,所以你需要找出錯位的名字(如果這是個問題)。你可能有更多的運氣將'CServerInterface'作爲COM對象導出。 – leppie 2012-01-18 09:22:19