摘要:
#includestdio.hstruct stu{ char name[10]; int num; int age; char addr[15];}boya[2],boyb[2],*pp,*qq;void main(){ FILE *fp; char ch; int i; pp=boya; qq=boyb; if((fp=fopen("d:\\stu_list","wb+"))==NULL) { printf("Cannot open file strike any key exit!"); } printf("\ninput data\n"); for(i=0;i2;i++,pp+ 阅读全文
摘要:
C代码如下:#include "stdio.h"__declspec(dllexport) int Call(int (*qq)(int num),char * str){ printf(str); return qq(123);}多次验证发现在C#中传委托给C中的函数指针,如果委托不带参数则都能成功运行,但是委托一带参数不管是int参数还是string参数或者其他参数,都会报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”的错误,找了一天才找到解决方法,既在C#的委托声明上加[UnmanagedFunctionPointer(CallingConvention.Cdecl)],正确 阅读全文