我想将C#引用传递给C/C++代码(指针),然后从指针返回C#引用.
我有很多对(uint,Object).我用C代码创建了排序机制,因为它比C#快得多.只需要键(uint)和值(对象引用). C代码使用键进行排序,而不是更改值(指针).有没有简单的方法呢?我需要使用编组吗? C函数将被调用多次(甚至可能是一百万次),所以我担心编组太慢了,我甚至不知道如何用编组来完成它.我相信当GC改变对象地址时,C#引用的地址不会改变.因此不需要将对象放在pined内存中.我是对的吗?
现在我能够使用DllImport调用C函数,我能够将C#引用存储到C指针,但是我无法将地址存储在C指针的C#引用中.
我有很多对(uint,Object).我用C代码创建了排序机制,因为它比C#快得多.只需要键(uint)和值(对象引用). C代码使用键进行排序,而不是更改值(指针).有没有简单的方法呢?我需要使用编组吗? C函数将被调用多次(甚至可能是一百万次),所以我担心编组太慢了,我甚至不知道如何用编组来完成它.我相信当GC改变对象地址时,C#引用的地址不会改变.因此不需要将对象放在pined内存中.我是对的吗?
现在我能够使用DllImport调用C函数,我能够将C#引用存储到C指针,但是我无法将地址存储在C指针的C#引用中.
关于如何做到这一点的任何想法?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。