我正在尝试使用 C++/CLI 互操作层从 C# 应用程序调用现有的 C++ 库。我有一个看起来像这样的 C++ 函数:
void doSomething(int* foo, int size);
以及一个包含两个字段的 C# 对象,一个 IntPtr start 和一个 int 大小。我编写了一个托管 C++ 类,如下所示:
public ref class Wrapper {
public:
void run(System::IntPtr itn, int size);
};
现在我想在 Wrapper::run 中调用 doSomething,并让 doSomething 可以访问 C# 对象指向的同一块数据。如果没有副本,我正在尝试做的事情是否可行,如果可以,怎么做?