从 C++ 调用 C# 方法而不使用 COM

2023-11-23

有没有办法创建 C# 对象并从非托管 C++ 调用方法,但不使用 COM Iterop?我正在寻找类似 JNI(但适用于 .Net)的东西,您可以在其中手动创建 VM、创建对象等。


如果您使用 C++/CLI,那么您可以直接与托管世界和非托管代码交互,因此互操作很简单。

您还可以自己托管 CLR,虽然托管 API 是基于 COM 的,但您可以创建任何托管对象。这个过程并不困难,因为听起来几个 API 调用就封装了很多功能。网上有很多信息,例如 MSDN 文档“托管公共语言运行时".

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 C++ 调用 C# 方法而不使用 COM 的相关文章

随机推荐

  • 在 HTML5 canvas 元素内移动矩形(像素)区域的最快方法是什么

    我想实现 HTML5 canvas 元素内容的垂直滚动 我不想再次渲染整个内容 相反 我想将整个内容向下 向上移动 并仅渲染已滚动到视图中的区域 我尝试过getImageData and putImageData函数 但在我的测试中它们几乎
  • linux中有类似COM0COM这样的程序吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我在Windows中使用com0com进行程序测试 linux下有没有类似com0com的程序 我知道有 pts ptmx 但我想要的是一个独立的程
  • Google 地球与 Google 地图 API v3 集成了吗?

    我正在尝试将 Google 地球集成到 Google 地图中 我发现它是possible在 v2 中 但我找不到任何关于如何使用 v3 执行此操作的文档 不幸的是 这尚未在 Google Maps API v3 中实现 请参阅相应的tick
  • groupByKey 是否比 reduceByKey 更受青睐

    我总是用reduceByKey当我需要对 RDD 中的数据进行分组时 因为它在打乱数据之前执行映射端缩减 这通常意味着更少的数据被打乱 从而获得更好的性能 即使当map端reduce函数收集了所有值并且没有实际减少数据量时 我仍然使用red
  • 在(据称)高性能代码中使用 GetCurrentMethod

    出于记录目的 我们应用程序中的一些方法包括以下行 Dim Log As ILog GetLog Reflection MethodBase GetCurrentMethod DeclaringType 我对反思有一种可以说是非理性的恐惧 我
  • 如何从java调用C#函数[重复]

    这个问题在这里已经有答案了 我需要从 java 调用 C 函数 为此我创建了以下内容 我创建了一个java头文件Authenticator h 代码如下 include
  • 循环遍历数组并成对输出(每个第二个元素的分隔符)

    我有一个包含匿名元素的数组 元素通过 php 添加到数组中 如下所示 playlist array while databaseloop playlist a title playlist a length echo json encode
  • 通用集合中的记录相等性

    假设您有一条带有重载相等运算符的记录 TSomeRecord record Value String class operator Equal Left Right TSomeRecord Boolean end 实现比较字符串值 如果根据
  • Linux中每个进程的最大线程数

    我编写了一个简单的程序来计算Linux Centos 5 中一个进程可以拥有的最大线程数 这是代码 int main pthread t thrd 400 for int i 0 i lt 400 i int err pthread cre
  • NuGet 包引用复制 dll 本地

    我需要将 NuGet dll 的 Copy Local 设置为 false 在此之前 我使用了包配置格式 一切正常 迁移到后封装参考格式 我找不到如何做到这一点的方法 有人可以帮助我吗 您可以使用私有资产 从文档复制
  • 使用 Hibernate API 进行 Java 字符串日期验证

    我正在尝试验证字符串日期 using javax validation 休眠验证 我需要检查给定的字符串日期应该是过去的并且它应该是正确的yyyyMMdd具有所有限制的格式 例如闰年 30th 31st day public class U
  • 如何捕获鼠标移动事件

    我想在我的主窗体中捕获鼠标移动事件 虽然我能够连接MouseEventHandler对于主窗体 当光标位于 UserControl 或任何其他控件上时 该事件不再触发 如何确保我始终掌握鼠标位置 您可以使用低级鼠标钩 看this示例并检查
  • 使用 ctypes 传递数组

    我有一个C函数 void read FIFO AI0 int16 t input size t size NiFpga Session session NiFpga Status status input int16 t malloc si
  • 如何使用 SWIG 扩展 python 中的模板化 C++ 类以允许 [] 运算符

    我有一个模板化的 C 数组类 它使用标准向量类 include
  • 向量点积计算的时间和空间复杂度

    计算两个长度为 n 的向量之间的点积的算法的时间和空间复杂度是多少 如果这 2 个向量是a a1 a2 an and b b1 b2 bn then 点积由下式给出a b a1 b1 a2 b2 an bn 为了计算这个 我们必须执行n乘法
  • 设置 tk.Frame 宽度和高度

    所以我正在创建一个 GUI 并尝试使其一切都适合屏幕 我已经画出了我希望 GUI 的每个部分的外观及其大小的粗略草图 因此我知道所有内容的粗略尺寸 然而 我遇到的第一个问题是设置屏幕的左半部分 所以左半部分由一个框架组成 我们称之为Main
  • 如何替换已弃用的 ggplot2 函数 aes_string:接受任意数量的命名字符串来指定美学映射?

    aes string我在使用 ggplot2 编程时使用了一些方便的行为 但aes string已被弃用 我相信是从 ggplot2 版本 3 4 0 开始 我正在努力思考如何很好地替换它 具体来说 我之前创建了通过省略号接受任意字符串参数
  • 错误 403:scrapy 中未处理或不允许 HTTP 状态代码

    这是我为抓取 justdial 网站而编写的代码 import scrapy from scrapy http request import Request class JustdialSpider scrapy Spider name j
  • WebRTC - 在通信过程中更改视频流

    我的目标是使用 webrtc Web 应用程序在视频或音频通话中启用屏幕共享 好吧 我发现我可以使用MediaStreamTrack applyConstraints 更改视频属性 但是否可以更改视频源 进一步说明如何将视频添加到现有音频流
  • 从 C++ 调用 C# 方法而不使用 COM

    有没有办法创建 C 对象并从非托管 C 调用方法 但不使用 COM Iterop 我正在寻找类似 JNI 但适用于 Net 的东西 您可以在其中手动创建 VM 创建对象等 如果您使用 C CLI 那么您可以直接与托管世界和非托管代码交互 因