我试图将C#.NET中的对象林编组为本机C ++。那就是:我有一个数亿个对象(如果不是更多)的图表,我希望在原生C ++中使用它。将其视为正常的“叶子”节点'叶子和节点之间的指针构造。我控制C ++和C#代码,所以我可以调整代码。
出于性能原因,软件的内部循环将以本机C ++实现。我基本上想告诉GC停止一段时间(以确保对象不被移动),然后执行奇特的C ++例程,然后在完成后继续GC。
还有一些我不想做的事情:
GCHandle
个对象。malloc
等原生分配方法。我过去曾经有过一个原生的C ++应用程序,它因内存碎片而遭受很大的损失,而且.NET会自动地使用它。解决得很好......更不用说GC的好处了。那么,有关如何做到这一点的任何建议吗?
答案 0 :(得分:1)
我将介绍使用托管C ++。