c++-cli相关内容

执行存储的回调时出现 System.AccessViolationException 错误

我已通过 C++/CLI 包装器将 C++ 成员函数 作为回调传递给 C# 项目(这很好用).C# 项目将在从另一个 .exe 进程接收数据时调用此委托:将引发一个事件并且一个方法将调用此回调.因此,我需要使用已经创建的 C# 类的静态实例来“保存"这个 Action 委托.我得到以下代码: //C++ 非托管函数WRAPPER_API void dispatchEvent(std::funct ..
发布时间:2021-11-26 20:20:41 C/C++开发

删除数组时访问冲突异常

删除分配的内存时出现“访问冲突读取位置"异常,如下所示. 我有一个针对 Visual Studio 2010(工具集:v100)C++ 编译器编译的本机 dll.我有一个托管的 dll 包装器,它是针对工具集 v90 编译的,因为我想针对 .net 2.0. 托管包装器将指针 (double *&myArray) 的引用传递给本机 dll 函数调用之一,后者在内部创建一个动态数组并初始 ..
发布时间:2021-11-26 20:16:00 C/C++开发

删除数组时访问冲突异常

删除分配的内存时出现“访问冲突读取位置"异常,如下所示. 我有一个针对 Visual Studio 2010(工具集:v100)C++ 编译器编译的本机 dll.我有一个托管的 dll 包装器,它是针对工具集 v90 编译的,因为我想针对 .net 2.0. 托管包装器将指针 (double *&myArray) 的引用传递给本机 dll 函数调用之一,后者在内部创建一个动态数组并初始 ..
发布时间:2021-11-26 20:15:20 C/C++开发

C++/CLI 菜鸟:System.AccessViolationException

我正在尝试为我女儿的职业日制作一个“很酷的演示".在 5 天内高,所以我正在尝试使用 echoprint 库 来无线执行(OTA) 音频识别.我从来没有比 C++ 中的“hello world"走得更远,我正在尝试使用 C++/CLI 来包装 echoprint 代码生成库,以便我可以从 C# 调用它.这是我的头文件: //echoprint-cli.h#pragma once#include ..
发布时间:2021-11-26 20:12:37 其他开发

使用 pin_ptr 时访问冲突?

当我使用 pin_ptr 在本机 c 代码中传递数组时,出现访问冲突.代码如下: array^ LogLikelihoodScore(array^>^ modelsBuffer, array^ featuresArray, int numberOfFrames){int i, j, modelsNum = modelsBuffer->Length, len;float **models = (f ..
发布时间:2021-11-26 20:12:11 其他开发

AccessViolation,当从 C++/CLI 调用 C++-DLL 时

我为 C++-DLL 编写了一个 C++/CLI 包装器,以便在 C# 程序中使用这个 DLL. 但是,当我调用一个带字符*的函数时,我得到一个 AccessViolation int Wrapper::Net_methodX(int a, String^ key, long v){IntPtr ptr = Marshal::StringToHGlobalAnsi(key);pin_ptr ..
发布时间:2021-11-26 20:10:13 其他开发

从 C++ 回调到 C# 函数的访问冲突异常/崩溃

所以我有一个本地的 3rd 方 C++ 代码库,我正在使用它(.lib 和 .hpp 文件),我用它在 C++/CLI 中构建了一个包装器,最终在 C# 中使用. 我在从调试模式切换到发布模式时遇到了一个特殊问题,因为当回调的代码返回时,我收到了访问冲突异常. 原始hpp文件中回调函数格式的代码: typedef int (*CallbackFunction) (void *inst ..
发布时间:2021-11-26 20:06:09 C#/.NET

来自非托管代码的 System.AccessViolationException?

我正在编写这个库,它通过将由托管代码使用的媒体基础框架在 C++/CLI 中实现一些基本的音频播放器功能.我可以很好地播放音频、停止、暂停等.对于不熟悉 Media Foundation 的任何人,媒体会话会发布您可以处理的通知事件.这是通过使用 IMFAsyncCallback 对象在会话对象上调用 BeginGetEvent 来完成的.IMFAsyncCallback 定义了您应该实现以处理事 ..
发布时间:2021-11-26 20:05:23 C#/.NET

提升互斥量 C++/CLI 问题

我正在 Visual Studio 2008 C# 中开发 64 位,我想使用一个使用 boost 的库.所以我用 C++/CLI 写了一个包装器.我设法针对我遇到的错误 #include . 如果我在 C++/CLI 包装器中包含任何本身包含 的文件,或者如果我直接将它包含在包装器中,我会得到一个“System.AccessViolation ..
发布时间:2021-11-26 14:56:38 其他开发

如何在 C++/CLI 中使用 LINQ - 在 VS 2010/.Net 4.0 中

只是想知道是否有一种方法可以在 C++/CLI 中使用 LINQ.我找到了一篇专注于 VS 2008 的帖子,并且需要为 System::String 类提供一系列解决方法.我在 CodeProject 上看到了一些框架替换,但我想知道是否有一种方法可以直接在 C++/CLI 中使用它.如果可以,谁有好的例子? 解决方案 您可以使用在 System::Linq 命名空间中定义的 Linq ..
发布时间:2021-11-26 10:36:54 其他开发

使用 vs2010 将 C++/CLI 项目更改为 4.0 以外的其他框架

自从我将我的项目升级到 Visual Studio 2010 项目格式后,我的 C++/CLI 项目针对 .net framework 4.0. 将框架版本从 C# 项目切换到另一个版本很容易,但我不知道如何在 C++/CLI 项目中执行此操作,我在项目属性页中没有看到此设置. 解决方案 当您在“框架和引用"对话框中按 F1 时会显示: 默认情况下,新项目的目标框架设置为.NE ..
发布时间:2021-11-26 10:33:26 C#/.NET

Visual Studio 2012 未能检测到 Visual Studio 2008 构建工具

我正在尝试使用 Visual Studio 2012 构建面向 .NET 3.5 的 C++ CLI 应用程序. 通过安装 Visual Studio 2008 并指定 v90 平台工具集,我已经在一台机器上完成了这项工作. 现在我正在一台新机器上尝试这个,我已经安装了 Visual Studio 2008,然后是 Visual Studio 2012. 现在我遇到了这个令人难以 ..
发布时间:2021-11-26 10:20:12 其他开发

Visual Studio 配置管理器仅 x64 选项

对于其他人来说,我似乎完全解决了*强调文本*相反的*强调文本*问题...我正在尝试让我的程序(C++/CLI - Visual Studio 2010)在任何机器上运行 - 但它只能在 64 位机器上运行...... 我检查了我的配置管理器,当我尝试选择一个新平台时,“x64"是唯一存在的平台? 没有其他选择 - 我对想法有点困惑:( 解决方案 在配置管理器中,它为每个项目列出 ..
发布时间:2021-11-25 07:43:18 C#

从 C++ 托管的 dll 抛出的 C# 异常 - EEFileLoadException * __ptr64

我从一个普通的 C# 控制台程序中得到这个错误,该程序使用作为 C++ CLI 项目的构建输出生成的 DLL.在那里我有一个简单的 DumbThing public ref class 和一个静态方法.我想简单地调用该函数或至少实例化一个小的 DumbThing 对象,然后看到 C# 可以调用它从 C++ CLI 生成的 DLL 中获取的代码,但它不起作用,因为它引发了一个让我更加困惑的错误: ..
发布时间:2021-11-25 06:53:59 C#

第 193 章

我正在创建一个 C++/CLI dll,它将被加载到一个旧的 C++ 应用程序中.遗留应用程序通过对 LoadLibrary 的传统调用来完成此操作.应用程序和 C++/CLI dll 均以 64 位模式编译. 当 LoadLibrary 调用发生时,它失败并显示错误 193.这通常意味着某些非 64 位组件正在尝试加载.当我查看 Visual Studio 2010 中的 dll 加载输出 ..
发布时间:2021-11-25 06:24:05 C#

静态库模式下的 Visual Studio 2010 C++/CLI:找不到程序集“mscorlib.dll"

我正在使用 VS 2012 在动态库 (.dll) 和 x64 模式下开发 C++/CLI 项目. 如果我将模式切换到静态库,则会出现以下错误. 错误 1 ​​错误 C1107:找不到程序集“mscorlib.dll":请使用/AI 或通过设置 LIBPATH 环境变量 C:\Depot\Main\Current\Sln\ALibraryProject\ 指定程序集搜索路径Stdafx ..
发布时间:2021-11-25 06:20:34 C#

任何依赖于 C++/CLI 的 CPU 依赖于原生 C dll(任何用于 c++/cli 的 CPU)

这是我的问题.我正在用 C# 包装一个 C dll.为此,我首先编写了一个 C++/CLI 包装器.本机 C 库链接到 C++/CLI 包装器.(C++/cli 项目中的链接器属性). 现在的组织方式如下:- 原生 C .lib:x86 和 64 位. 1 个包含 2 个项目的解决方案: 链接到本机 C .lib 的 C++/CLI 包装器项目 C# 项目引用 C++/CLI 项目 ..
发布时间:2021-11-25 05:43:27 C#

用于 C# 应用程序的 AnyCPU/x86/x64 及其 C++/CLI 依赖项

我是 Windows 开发人员,我使用的是 Microsoft Visual Studio 2008 SP1.我的开发者机器是 64 位. 我目前正在开发的软件是用 C# 编写的托管 .exe.不幸的是,我无法仅用 C# 解决整个问题.这就是为什么我还在 C++/CLI 中开发了一个小的托管 DLL.两个项目都在同一个解决方案中. 我的 C# .exe 构建目标是“任何 CPU".当我 ..
发布时间:2021-11-25 05:28:50 C#