gpt4 book ai didi

c++ - 如何从非托管代码执行托管代码?

转载 作者:可可西里 更新时间:2023-11-01 14:37:05 25 4
gpt4 key购买 nike

坚持住!您可能认为这个问题已经被问过数百万次,并且回答的次数与地球绕太阳转的次数一样多,但请耐心等待我回答这个问题.

我的任务很简单:在我的 C++ (Windows) 程序中,我希望能够执行一些托管(C# 或 VB.NET 等)代码。

等等!在你按下 CTRL-T 之前,从 Google 随机抓取一个链接并在我脸上拍打它,然后说“学习搜索!”,请继续阅读:

我从这里开始http://sites.google.com/site/robertgiesecke/这允许我将 C# 函数导出为 C 样式函数,然后在 C++ 中使用它。它工作正常。但现在我有两个二进制文件,native exema​​naged dll

如何将dll嵌入到exe中并映射到内存中,最后从那里调用它?换句话说,我只想拥有一个包含 native exe 和托管 dll 的 exe。

当然这个我已经试过了http://www.joachim-bauch.de/tutorials/loading-a-dll-from-memory/
不幸的是,这不起作用,代码最后未能完成“附加”过程。我猜这是因为 dll 的托管形式。

感谢阅读。

编辑:我真的不想使用 C++/CLI :(

最佳答案

您要创建的是“混合模式”程序集。仅当您在 Visual Studio 中创建“Managed-C++”程序集/可执行文件时才能创建。

根据我多年的经验,C#/VB.NET 不支持这个。尽管我可能是错的,而且它可能只是 Visual Studio 的限制,而不是 C# 本身的限制。

关于c++ - 如何从非托管代码执行托管代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247773/

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