Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从c调用mono_方法(指针)_C#_C_Pointers_Mono_Unsafe - Fatal编程技术网

C# 从c调用mono_方法(指针)

C# 从c调用mono_方法(指针),c#,c,pointers,mono,unsafe,C#,C,Pointers,Mono,Unsafe,我有单声道代码 公共静态不安全int*mono_方法(int*p) { //.. 返回p; } 想从原生c中调用它吗 MonoObject*result=mono_运行时调用(mono_方法,NULL,args,NULL) 我尝试了一些不同的指针,args标志中的变量(应该是void**) 但是当我执行运行时调用时,总是得到SIGSEGV错误 我的问题是: 是否可以通过运行时调用将指针从c传递到mono,以及如何传递 致以最诚挚的问候。这个问题刚刚在这里提出,但是。您可能已经测试了所有内容

我有单声道代码


公共静态不安全int*mono_方法(int*p)
{
//..
返回p;
}

想从原生c中调用它吗


MonoObject*result=mono_运行时调用(mono_方法,NULL,args,NULL)

我尝试了一些不同的指针,args标志中的变量(应该是void**)
但是当我执行运行时调用时,总是得到SIGSEGV错误

我的问题是: 是否可以通过运行时调用将指针从c传递到mono,以及如何传递


致以最诚挚的问候。

这个问题刚刚在这里提出,但是。

您可能已经测试了所有内容,除了在 :params数组包含具有相同约定的方法的参数:对象实例的MonoObject*指针和值类型的指针

void* args[1];
int val = 10;
MonoObject *result;
args [0] = &val;
result = mono_runtime_invoke(mono_method, NULL, args, NULL);
/* result will be a boxed IntPtr since pointer types can't be boxed themselves */

嗯,那么下一个问题是,有没有可能传递一个指向函数的指针,而不是指向int的指针,然后在mono代码中执行函数?