C# socket问题
我用c写了一个dll,该dll函数返回SOCKET。然后我用C#调用这个dll。
dll中函数定义: SOCKET LOGIN(char * account,char * key)
c#中:
namespace ClientWindow
{
public unsafe partial class Form1 : Form
{
Socket sock;
[DllImport("C:\\Documents and Settings\\Administrator\\桌面\\SELOGIN\\Debug\\SELOGIN.dll")]
static extern Socket LOGIN(string account, string key);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
sock = LOGIN(this.user_name.Text, this.password.Text);
}
}
但是在调试时出错:
托管调试助手“FatalExecutionEngineError”在“D:\Backup\我的文档\Visual Studio 2008\Projects\ClientWindow\ClientWindow\bin\Debug\ClientWindow.vshost.exe”中检测到故障。
其他信息: 运行库遇到了错误。此错误的地址为 0x79f1eabf,在线程 0x320 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。
求高手指点!!!
[解决办法]
C#中就一句DllImport调用API而已,你觉得原因可能在C#上么?为什么不去dll中找找原因
[解决办法]
建议看看C的dll吧
[解决办法]
顶起来