gpt4 book ai didi

c# - 有没有办法从 C++ 库中获取 ICLRMetaHost

转载 作者:行者123 更新时间:2023-11-30 04:10:32 25 4
gpt4 key购买 nike

问题的内容差不多。我有一个运行的 .net exe,然后加载我的库(在 C++ 中)。有什么方法可以获取 mscoree 在启动 .net exe 时加载的 ICLRMetaHost 或类似接口(interface)?我想这样做主要是为了可以从我的 native 库访问 gc 和内存相关设置以进行调试。

奖励积分指出使用单一托管 api 的类似实现。

最佳答案

我不明白为什么获取 ICLRMetaHost 的正常方法在 CLR 加载的 DLL 中不起作用...

  1. 在 mscoree.dll 上加载库
  2. 找到 CLRCreateInstance 的地址。
  3. 调用 CLRCreateInstance 如图所示 here获取 ICLRMetaHost
  4. 调用 EnumerateLoadedRuntimes 并希望只有一个加载...
  5. 从枚举的运行时信息中获取 ICLRRuntimeHost
  6. ICLRRuntimeHost获取ICLRControl
  7. ICLRControl获取ICLRGCManager

关于c# - 有没有办法从 C++ 库中获取 ICLRMetaHost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20592274/

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