代码之家  ›  专栏  ›  技术社区  ›  James Hopkin

有没有什么直接的方法来做Pin_-ptr的工作?

  •  1
  • James Hopkin  · 技术社区  · 15 年前

    PiN-PTR的行为可以直接在C++/CLI中实现吗?例如,是否可以直接编写clr代码,比如 asm 对于本机应用程序?

    我想做的一个例子是 pin_ptr (由于限制 皮尼PTR s)。

    class WrappedPtr
    {
    public:
        explicit WrappedPtr(String^ s)
        {
            pin = PtrToStringChars(s);
            // I want to pin s for the lifetime of this object (only used on the stack)
        }
    };
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   Hasani Blackwell    15 年前

    使用A GCHandle.Alloc . 具有 GCHandleType.Pinned . 然后你可以使用 GCHandle.AddrOfPinnedObject 获取.NET对象的地址。