c++-cli相关内容
我已通过 C++/CLI 包装器将 C++ 成员函数 作为回调传递给 C# 项目(这很好用).C# 项目将在从另一个 .exe 进程接收数据时调用此委托:将引发一个事件并且一个方法将调用此回调.因此,我需要使用已经创建的 C# 类的静态实例来“保存"这个 Action 委托.我得到以下代码: //C++ 非托管函数WRAPPER_API void dispatchEvent(std::funct
..
我为 mfc dll (C++) 编写了一个托管的 C++/CLI 包装器,并且在第二次调用 dll 后出现了一些访问冲突! 包装 //在 .h 中typedef CKeyManagerServerApp* (*KeyManagerInstance)(CCommonUtils *);ManagedKeyInterface::ManagedKeyInterface(){HINSTANCE m
..
删除分配的内存时出现“访问冲突读取位置"异常,如下所示. 我有一个针对 Visual Studio 2010(工具集:v100)C++ 编译器编译的本机 dll.我有一个托管的 dll 包装器,它是针对工具集 v90 编译的,因为我想针对 .net 2.0. 托管包装器将指针 (double *&myArray) 的引用传递给本机 dll 函数调用之一,后者在内部创建一个动态数组并初始
..
删除分配的内存时出现“访问冲突读取位置"异常,如下所示. 我有一个针对 Visual Studio 2010(工具集:v100)C++ 编译器编译的本机 dll.我有一个托管的 dll 包装器,它是针对工具集 v90 编译的,因为我想针对 .net 2.0. 托管包装器将指针 (double *&myArray) 的引用传递给本机 dll 函数调用之一,后者在内部创建一个动态数组并初始
..
我正在尝试为我女儿的职业日制作一个“很酷的演示".在 5 天内高,所以我正在尝试使用 echoprint 库 来无线执行(OTA) 音频识别.我从来没有比 C++ 中的“hello world"走得更远,我正在尝试使用 C++/CLI 来包装 echoprint 代码生成库,以便我可以从 C# 调用它.这是我的头文件: //echoprint-cli.h#pragma once#include
..
当我使用 pin_ptr 在本机 c 代码中传递数组时,出现访问冲突.代码如下: array^ LogLikelihoodScore(array^>^ modelsBuffer, array^ featuresArray, int numberOfFrames){int i, j, modelsNum = modelsBuffer->Length, len;float **models = (f
..
我为 C++-DLL 编写了一个 C++/CLI 包装器,以便在 C# 程序中使用这个 DLL. 但是,当我调用一个带字符*的函数时,我得到一个 AccessViolation int Wrapper::Net_methodX(int a, String^ key, long v){IntPtr ptr = Marshal::StringToHGlobalAnsi(key);pin_ptr
..
所以我有一个本地的 3rd 方 C++ 代码库,我正在使用它(.lib 和 .hpp 文件),我用它在 C++/CLI 中构建了一个包装器,最终在 C# 中使用. 我在从调试模式切换到发布模式时遇到了一个特殊问题,因为当回调的代码返回时,我收到了访问冲突异常. 原始hpp文件中回调函数格式的代码: typedef int (*CallbackFunction) (void *inst
..
我正在编写这个库,它通过将由托管代码使用的媒体基础框架在 C++/CLI 中实现一些基本的音频播放器功能.我可以很好地播放音频、停止、暂停等.对于不熟悉 Media Foundation 的任何人,媒体会话会发布您可以处理的通知事件.这是通过使用 IMFAsyncCallback 对象在会话对象上调用 BeginGetEvent 来完成的.IMFAsyncCallback 定义了您应该实现以处理事
..
我正在 Visual Studio 2008 C# 中开发 64 位,我想使用一个使用 boost 的库.所以我用 C++/CLI 写了一个包装器.我设法针对我遇到的错误 #include . 如果我在 C++/CLI 包装器中包含任何本身包含 的文件,或者如果我直接将它包含在包装器中,我会得到一个“System.AccessViolation
..
以下代码编译时出现警告和智能感知错误: ref 类测试 {initonly static TimeSpan Delay = TimeSpan(1,1,1);测试() {long long ticks = Delay.Ticks;//
..
只是想知道是否有一种方法可以在 C++/CLI 中使用 LINQ.我找到了一篇专注于 VS 2008 的帖子,并且需要为 System::String 类提供一系列解决方法.我在 CodeProject 上看到了一些框架替换,但我想知道是否有一种方法可以直接在 C++/CLI 中使用它.如果可以,谁有好的例子? 解决方案 您可以使用在 System::Linq 命名空间中定义的 Linq
..
自从我将我的项目升级到 Visual Studio 2010 项目格式后,我的 C++/CLI 项目针对 .net framework 4.0. 将框架版本从 C# 项目切换到另一个版本很容易,但我不知道如何在 C++/CLI 项目中执行此操作,我在项目属性页中没有看到此设置. 解决方案 当您在“框架和引用"对话框中按 F1 时会显示: 默认情况下,新项目的目标框架设置为.NE
..
我正在尝试使用 Visual Studio 2012 构建面向 .NET 3.5 的 C++ CLI 应用程序. 通过安装 Visual Studio 2008 并指定 v90 平台工具集,我已经在一台机器上完成了这项工作. 现在我正在一台新机器上尝试这个,我已经安装了 Visual Studio 2008,然后是 Visual Studio 2012. 现在我遇到了这个令人难以
..
对于其他人来说,我似乎完全解决了*强调文本*相反的*强调文本*问题...我正在尝试让我的程序(C++/CLI - Visual Studio 2010)在任何机器上运行 - 但它只能在 64 位机器上运行...... 我检查了我的配置管理器,当我尝试选择一个新平台时,“x64"是唯一存在的平台? 没有其他选择 - 我对想法有点困惑:( 解决方案 在配置管理器中,它为每个项目列出
..
我从一个普通的 C# 控制台程序中得到这个错误,该程序使用作为 C++ CLI 项目的构建输出生成的 DLL.在那里我有一个简单的 DumbThing public ref class 和一个静态方法.我想简单地调用该函数或至少实例化一个小的 DumbThing 对象,然后看到 C# 可以调用它从 C++ CLI 生成的 DLL 中获取的代码,但它不起作用,因为它引发了一个让我更加困惑的错误:
..
我正在创建一个 C++/CLI dll,它将被加载到一个旧的 C++ 应用程序中.遗留应用程序通过对 LoadLibrary 的传统调用来完成此操作.应用程序和 C++/CLI dll 均以 64 位模式编译. 当 LoadLibrary 调用发生时,它失败并显示错误 193.这通常意味着某些非 64 位组件正在尝试加载.当我查看 Visual Studio 2010 中的 dll 加载输出
..
这是我的问题.我正在用 C# 包装一个 C dll.为此,我首先编写了一个 C++/CLI 包装器.本机 C 库链接到 C++/CLI 包装器.(C++/cli 项目中的链接器属性). 现在的组织方式如下:- 原生 C .lib:x86 和 64 位. 1 个包含 2 个项目的解决方案: 链接到本机 C .lib 的 C++/CLI 包装器项目 C# 项目引用 C++/CLI 项目
..
我是 Windows 开发人员,我使用的是 Microsoft Visual Studio 2008 SP1.我的开发者机器是 64 位. 我目前正在开发的软件是用 C# 编写的托管 .exe.不幸的是,我无法仅用 C# 解决整个问题.这就是为什么我还在 C++/CLI 中开发了一个小的托管 DLL.两个项目都在同一个解决方案中. 我的 C# .exe 构建目标是“任何 CPU".当我
..
我正在 Visual Studio 2008 C# 中开发 64 位,我想使用一个使用 boost 的库.所以我用 C++/CLI 写了一个包装器.我设法针对我遇到的错误 #include . 如果我在 C++/CLI 包装器中包含任何本身包含 的文件,或者如果我直接将它包含在包装器中,我会得到一个“System.AccessViolationException" "试图读取或写入受保护的内存
..