相关疑难解决方法(0)

在 C++/CLI 中 void* 到 Object^

我正在将大量 .h 和 .lib 文件从本机 C++ 包装到托管 C++,以最终用作 C# 中的引用 .dll。

一些本机 C++ 函数的返回类型为 void*。当我将值传递回调用代码时,我不确定如何处理这个问题。例如:如果 C# 应用程序调用我的 dll 包装器,我从本机调用返回什么:

void* start(ThreadFunc,void *, unsigned *);
Run Code Online (Sandbox Code Playgroud)

我目前正试图在一个通用的 System::Object^ 中装箱返回,但没有运气。这是包装器中的调用:

m_NativeThread->start(cb, 
        GCHandle::ToIntPtr(GCHandle::Alloc(o)).ToPointer(),
        static_cast<unsigned int*>(GCHandle::ToIntPtr(GCHandle::Alloc(u)).ToPointer())));
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供解决方案吗?

c++-cli wrapper void-pointers

4
推荐指数
1
解决办法
4986
查看次数

标签 统计

c++-cli ×1

void-pointers ×1

wrapper ×1