C,如何将多维数组传递给 CLR/类库项目中的函数
Posted
技术标签:
【中文标题】C,如何将多维数组传递给 CLR/类库项目中的函数【英文标题】:C , How can I pass a multidimensional array to a function in a CLR/Class Library project 【发布时间】:2012-11-21 01:47:59 【问题描述】:我正在尝试用 c++(在 CLR/类库下)编写一个 dll,以将其添加为 vb.net 项目中的引用。 我解释我遇到的问题: 当我在不使用数组或指针的情况下编写通用函数时,一旦我构建了我的 c++ 项目并将生成的 dll 作为引用添加到我的 vb.net 项目中,我就可以可视化并使用这个函数。但是,当我尝试编写一个必须使用多维数组的函数时,在 vb 的“对象查看器”中显示的方法中,我的新函数不存在。
有没有什么我应该知道的,特别是在函数中使用多维数组作为参数,当我添加我的 dll 作为引用时可见? 或者也许我必须遵循完全不同的方式?
请告诉我如何解决这个问题。
感谢您能给我的任何帮助!
【问题讨论】:
【参考方案1】:一种解决方案,使用 C++/CLI DLL 作为中介。 C++/CLI 可以处理本机类型和托管类型。因此,您可以先将 natvie 多维数组作为参数传递给 C++/CLI,然后在 C++/CLI Dll 中创建托管多维数组,并将本机多维数组的值分配给托管多维数组。最后,这个托管的可以传递给 VB.NET。
我以前用这个解决方案将多维数组从C传递到C#,当时我试图找到更好的解决方案,但我没有。我希望现在会有。
【讨论】:
您能否提供一些关于此的参考资料或示例?非常感谢! 请参考:***.com/questions/10223186/…。对于 C++CLI:functionx.com/cppcli/index.htm.以上是关于C,如何将多维数组传递给 CLR/类库项目中的函数的主要内容,如果未能解决你的问题,请参考以下文章