草庐IT

托管所

全部标签

c# - 在没有 COM 的情况下从非托管 C++ 应用程序调用 C# dll

有没有办法在不使用COM的情况下从c++非托管应用程序调用c#dll? 最佳答案 您可以使用ReverseP/Invoke来做到这一点-示例和讨论here. 关于c#-在没有COM的情况下从非托管C++应用程序调用C#dll,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4465639/

c++ - std::unique_ptr::reset 检查托管指针是否为空?

我一直在阅读有关C++11智能指针的内容,以便在我的源代码中使用它们,我一直在阅读的文档是cppreference.com上的文档;在阅读std::unique_ptr时,在resetfunction上有一个文档对我来说似乎不正确(强调我的):Replacesthemanagedobject.Givencurrent_ptr,thepointerthatwasmanagedby*this,performsthefollowingactions,inthisorder:Savesacopyofthecurrentpointerold_ptr=current_ptr.Overwritest

自托管 NodeJS ChatGPT Discord 机器人

GBTILabs宣布面向开发人员的自托管NodeJSChatGPTDiscordBotBTILabs是一个私人开发运营团体和会员社区,自豪地宣布发布其自托管NodeJSChatGPTDiscord机器人,旨在为开发人员提供将ChatGPT和其他类似语言模型集成到Discord聊天机器人中的先机。该机器人通过文件与OpenAI和DiscordAPI集成config.json。该机器人要求用户拥有一个与OpenAI关联的支付账户,以记录数据使用情况。数据是负担得起的,高级用户每天花费大约10美分,而普通用户甚至不到一分钱。可通过OpenAIAPI进行节流管理,以帮助用户监控其使用情况。一旦连接到D

c++ - 托管目标代码需要 '\clr' 选项 : Error

当我尝试批量构建我的项目时,我在启用了clr运行时支持时遇到了这个错误。我的项目可以毫无问题地运行,我只在尝试进行批量构建时收到此错误。我在谷歌中进行了大量搜索,但大多数结果都是关于启用clr选项的。我想知道如何解决这个问题。 最佳答案 这是您在调试项目时更改项目设置时会遇到的问题。设置按配置存储。一个常见的错误是对调试配置进行了更改,但忘记对发布配置进行相同的更改。当您随后尝试构建Release配置时,Kaboom,就像您使用BatchBuild时会发生的那样。慢点。项目+属性、配置属性、常规。请注意左上角标有“配置”的组合框。它

c# - 从 C++ Win32 调试托管组件

我有一个用VC++编写的Win32EXE。我有用C#编写的实现。我有使用C#DLL的VC++EXE,如下所述:http://support.microsoft.com/kb/828736.效果很好,但我需要能够调试。两个项目都加载到同一个.SLN中,但从未命中C#中的断点。有没有办法在VS2012中对此进行调试? 最佳答案 啊,事实证明,如果您知道要按下的正确按钮,这很容易。在C++项目属性上,ConfigurationProperties->Debugging->DebuggerType="Mixed"。

c# - 将 shared_ptr 与托管语言引用进行比较

有人可以向C++程序员解释Java(以及C#)引用和shared_ptr(来自Boost或C++0x)之间最重要的区别。我或多或少知道shared_ptr是如何实现的。我很好奇以下方面的差异:1)性能。2)骑自行车。shared_ptr可以循环(A和B持有指向彼此的指针)。在Java中可以骑自行车吗?3)还有什么吗?谢谢。 最佳答案 性能:shared_ptr性能不错,但根据我的经验,它的效率略低于显式内存管理,主要是因为它是引用计数的,并且必须分配引用计数以及。它的性能如何取决于很多因素,它与Java/C#垃圾收集器相比的性能如何

c# - 如何从托管代码项目中调试 native 代码项目? C++/C#

如何从托管代码项目中调试native代码项目?我正在使用C#调用C++代码,需要调试C++代码。否则,我必须退出项目,打开C++项目,创建一个测试器,然后调试代码。这太可怕了。 最佳答案 将您的C++项目添加到包含您的C#代码的解决方案在C#项目属性页面中,在调试选项卡下勾选“启用非托管代码调试”如果这不起作用,您还需要从“调试”或“工具”菜单(在VS2017中)打开“选项”对话框,然后转到“调试”->“常规”。检查选项“抑制模块加载的JIT优化(仅限托管)。”然后您将能够调试您的C++/CLI和C++代码。(最后的提示来自KimT

.net - 从非托管 C++ 动态加载混合模式 C++/CLI .dll(和依赖项)

我有一个托管C++程序集,我正在通过标准LoadLibrary()调用在非托管C++应用程序中动态加载。托管C++程序集依赖于多个托管(C#)程序集。一切正常,直到我将所有托管程序集移动到非托管应用程序的子目录中。举例说明:托管C++.dll(MyCoolDll.dll)依赖于DotNetDll1.dll依赖于DotNetDll2.dll非托管C++应用(MyCoolApp.exe)通过LoadLibrary("MyCoolDll.dll")加载MyCoolDll.dll这工作正常,直到我将MyCoolDll.dll、DotNetDll1.dll和DotNetDll2.dll移动到/s

c# - C# 中的 wglCreateContext 失败但托管 C++ 中没有

我正在尝试在C#中使用opengl。我有以下代码失败并出现错误2000ERROR_INVALID_PIXEL_FORMAT第一个定义:[DllImport("user32.dll",CharSet=CharSet.Auto,SetLastError=true,ExactSpelling=true)]publicstaticexternIntPtrGetDC(IntPtrhWnd);[StructLayout(LayoutKind.Sequential)]publicstructPIXELFORMATDESCRIPTOR{publicvoidInit(){nSize=(ushort)Ma

c# - 如何从 C# ASP.NET 网页调用非托管 C/C++ 代码

我有一个使用C#的ASP.NET网站,我想从非托管C/C++DLL调用函数。我该怎么做? 最佳答案 创建非托管dll:extern"C"__declspec(dllexport)__cdeclintsum(inta,intb);---->创建一个命名空间/类以DllImport上述DLLusingSystem.Runtime.InteropServices;namespaceImportDLL{publicclassimportdll{publicimportdll(){}DllImport("mysum.dll",EntryPoi