C的dll回调C#函数 - .NET技术 / C#
c dll 接口代码
C/C++ code:
//回调函数
//times是回调次数
ZOKE_DLL_EXPORT int zoke_callback(test_object* object, int (*callback)(int), int times);
c#代码
C# code:
[DllImport("dll_test.dll", CharSet = CharSet.Ansi)]
unsafe public static extern int zoke_callback(test_object* obj, callback mycallback, int times);
public delegate int callback(int a);
private void button2_Click(object sender, EventArgs e)
{
unsafe
{
Class2.callback myCallBack = new Class2.callback(callbackfunc);
MessageBox.Show(myCallBack.ToString());
int result = Class2.zoke_callback(tobj, myCallBack, 1);
MessageBox.Show(result.ToString());
}
}
private int callbackfunc(int a)
{
MessageBox.Show(a.ToString());
return 10;
}
点击事件时出错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。估计是callback mycallback的问题,请高手出来帮忙一下。
抢个沙发哈!我是新手!
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
请问VFP中如何调用C/C++函数?
你要调用什么功能的函数?要看看VFP中有没有对应的函数,如果有就省着再调用了。如果没有,可以将C/C++函数写个DLL或FLL,然后在VFP调用即可。
十豆三 老师,怎么才能修改自己的 ......
DataSet导出xml 批处理(循环)得怎么处理
XML文件
<A>
<B>
<C>
</C>
&nb ......
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
在根目录/lib中存放一个log.c,log.h,并用下面的语句:
gcc -c log.c
ar crv liblog.a log.o
编译出一个liblog.a静态库,然后在文件夹:/testfile中创建一个test.c和testc.c,test.c中引用了testc.c中定义的方法 ......