一开始,c函数返回值和参数均为char *.
char* Minus(char* Original, char* Ref);
c#调用时,传byte[],返回放到byte[]里.
byte[] result = Minus(original, ref);
结果运行时出错,返回值类型转换出错.然后在C#里试图把引用函数声明为byte*型输入输出,编译不通过.试图在c函数里把返回值和参数用char []编译不通过.又把函数改成void返回,用输出参数的方式实现.
void Minus(char* result, char* Original, char* Ref);
在c#里调用:
Minus(ref result, original, ref);
结果程序运行到这里直接退出,连错都不报.到底该如何实现呢?谢谢!
char* Minus(char* Original, char* Ref);
c#调用时,传byte[],返回放到byte[]里.
byte[] result = Minus(original, ref);
结果运行时出错,返回值类型转换出错.然后在C#里试图把引用函数声明为byte*型输入输出,编译不通过.试图在c函数里把返回值和参数用char []编译不通过.又把函数改成void返回,用输出参数的方式实现.
void Minus(char* result, char* Original, char* Ref);
在c#里调用:
Minus(ref result, original, ref);
结果程序运行到这里直接退出,连错都不报.到底该如何实现呢?谢谢!
byte[] MyFunction(byte[] array1, byte[] array2)
在c#里调用:
byte[] result = new byte[100];//必须先分配空间Minus(result, original, ref); 因为不是值类型,就不需要ref了,直接调用就可以
呵呵,不知道有没有这个东东?