gpt4 book ai didi

c# - 如何将 C++/CX 结构传递给纯 C++ 方法?

转载 作者:行者123 更新时间:2023-11-30 04:12:34 36 4
gpt4 key购买 nike

假设我有一个遗留的纯 C++ 库,其中包含一组以 C++ 结构( native )作为参数的函数。该库将被包装到一个 WinRT 组件中,该组件将在 C#(平台 - Windows Phone)中使用。显然,最简单的解决方案是将所有结构重复为 C++/CX 值结构。但是如何将这些结构传递给纯 C++ 函数/方法呢?是否可以 ?如果不是,那么在这种情况下包装逻辑的解决方案是什么?

最佳答案

一般来说,一个value struct来自 C++/CX 的代码在传递到 native 代码之前需要在 C++/CX 层中复制某种形式。您需要将 C++/CX 表单中的数据编码到您正在使用的 native 表单中。

也就是说,文档确实建议您可以直接使用 memcpyvalue struct 复制到标准( native )C++ 结构,这比单独映射值更干净,前提是您不使用 String^IBox<T>^ :

A value class or value struct that contains a Platform::String^ or IBox^ type as a member is not memcpy-able.

关于c# - 如何将 C++/CX 结构传递给纯 C++ 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19798909/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com