Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试在托管 C++ 中重写我的 C# 库,在某种程度上与我的 C++ 实现合并。
我有一个托管基类,我也需要在非托管类中使用它。
我有一个非托管类(包含在#pragma unmanaged 中),它有一个将我的基类作为参数的函数。然后将其添加到稍后引用的向量中。
由于某种原因,它没有被识别gcroot为关键字。我假设因为它在#pragma 非托管代码中。
gcroot
我怎样才能做到这一点?
谢谢,
亚历克斯
你是对的。#pragma unmanaged 中的任何内容都必须是“常规”C++(不能包含 C++/clr 代码)。如果您希望本机类使用 gcroot,请不要将代码放在 #pragma unmanaged 中(因为它确实包含托管代码)。
为什么你需要它在#pragma unmanaged 中?