c++-cli相关内容

在 C++ CLI 中将参数传递给线程

我搜索了每个主题以正确创建带有参数 (wstring) 的新线程,但没有任何效果.我该如何解决我的问题?我为我的 .Net UI 应用程序创建了这个项目,所以之前我使用 std::thread 和 std::mutex,但 VSC++ Forms 中的“惊人".NET 不支持它. 命名空间索引{引用类 FileIndex{民众:文件索引();文件索引(文件索引^);虚拟 ~FileIndex() ..
发布时间:2021-09-18 19:10:59 C#/.NET

将 STL 字符串从 C++/CLI 应用程序传递给 C++ DLL

我有一个使用 OpenCV 的 C++/CLI 项目.我自己在 VS 2010 中编译了这个版本的 OpenCV,我可以在非托管项目中使用它而不会出现问题——当我尝试在托管项目中使用它时,麻烦就开始了. 感兴趣的函数是cv::imread(std::string&, int).简单地从托管模块调用它根本不起作用,产生在接收端.我有点期待它.毕竟,托管代码有自己的 std::str ..
发布时间:2021-06-12 19:53:54 C/C++开发

CLI DLL 的本机库中互斥锁的解决方法

我正在为本机 C++ 库编写 C++/CLI 包装器.在返回给 CLI 包装器的类之一中,使用线程,特别是头中的 #include 来定义类级别的互斥锁. 问题是,一旦将标头引入 CLI 代码(启用了/clr 选项),我就会收到错误消息,即使用/clr 或/进行编译时不支持 clr:纯. 阅读这篇文章 当我收到此错误时如何实现非托管线程安全集合:使用/clr ..
发布时间:2021-06-04 20:11:46 其他开发

如何在C ++/CLI中读取原始输入

这是我的问题. 我正在尝试从连接的设备获取原始输入.我正在使用MSDN 可以弄清楚,但对于让我理解其中的一些内容. 我相信我已经成功创建了 GetRawInputDeviceList ,这是第一个参数的文档(您将其作为null传递): 与系统相连的设备的RAWINPUTDEVICELIST结构的数组.如果为NULL,则在* puiNumDevices中返回设备数. 这是返回 ..
发布时间:2021-05-16 18:52:14 C/C++开发

如何处理本机代码中的异常?

假设我的应用程序由3个组件组成.他们是: c ++本机库 c ++ cli托管库,其中包装了本机库 c#gui应用程序. 据我了解,从本机c ++库引发的任何本机异常都将被SEHException托管类包装.我对接下来的步骤感兴趣,建议在创建此类异常对象之后执行哪些操作. 我应该在c ++ cli托管库中捕获所有此类可能的异常,然后创建适当的托管异常吗?像这样: void ..
发布时间:2021-05-06 18:44:51 C#/.NET

使用CMake在同一解决方案中创建C#和C ++/CLR项目(针对Visual Studio的CMake)

我想使用CMake在MSVC中创建一个解决方案,该解决方案具有两个项目(在CMake词汇表中,一个C#执行程序和一个C ++/CLR库). 我该怎么做?我发现的所有示例都是关于CMake中的一种类型的项目(所有C ++或C#). 要澄清: 如果要使用CMake创建C ++/CLR项目,可以编写如下代码: cmake_minimum_required(版本3.5)项目(Test ..
发布时间:2021-04-22 19:56:47 C#/.NET

是否必须在Win32中运行CLR类库?

我在VS2017中创建了一个CLR项目. 包含: CLR类库(C ++).NET Framework 4.5 C#ConsoleApp 在库中定义了一个简单的ref类.该类是从我的C#代码中调用的.我对它的性能很好,但是它并不总是能正常工作. 这取决于我的运行方式. “调试"和"x86"有效 “调试"和"x64"不起作用 “发布"和"x86"有效 “发布"和" ..
发布时间:2021-04-22 19:42:16 C#/.NET

单击标题时对ListView进行排序

我需要基于ListView标头的单击来对ListView上的内容进行排序.我正在使用C ++/CLI,所以我得到了 ListViewColumnSorter.cpp //////此类是"IComparer"接口的实现.///#include"ListViewColumnSorter.h"ListViewColumnSorter :: ListView ..
发布时间:2021-04-22 19:42:10 C#/.NET

如何避免安装Visual C ++可再发行的大文件?

我想在Windows 7 32位客户端上部署C ++/CLI应用程序.我已经使用Visual Studio 2017构建了它,我注意到我的项目需要Visual C ++ 2017 Redistributable. 我的可执行文件小于1兆字节,MSVCR依赖项为13兆字节,对于这个应用程序来说确实很大. 有什么办法可以减小这种尺寸? 解决方案 我找到了可能的解决方案,但我不知道它 ..
发布时间:2021-04-22 19:42:02 其他开发

类型"long"和"long"之间有什么区别?在C ++/CLI和C#中?

在 C ++/CLI 项目中,我有方法 void DoSomething(long x); .如果我想在用 C#编写的任何单元测试中使用它,则方法参数 x 会显示为类型 int . 为什么我必须在单元测试(C#)中将签名更改为 void DoSomething(long long x); 并将其与类型为 long 的参数一起使用? 解决方案 在C#中, long 是64位数据类型.在 ..
发布时间:2021-04-20 19:08:26 C#/.NET

用pdfsharp添加acroform

如何将带有pdfsharp lib的Acroforms(或任何输入字段)添加到pdf中?例如一个文本框(PdfSharp :: Pdf :: AcroForms :: PdfTextField)我找不到任何示例,只能阅读/修改. 我发现"page-> Elements-> Add(key,pdfitem)",但是我无法从PdfSharp :: Pdf :: AcroForms :: PdfT ..
发布时间:2021-04-20 19:08:23 其他开发

C ++读取/写入二进制文件.在程序退出时,它给出System.AccessViolationException

此C ++程序是使用Visual Studio 2010创建的.这是一个小组项目,每个班级的人都被困住了. 该程序最初可以正常运行,并且用户可以运行该程序并添加写出到文件中的项目. 当用户完成操作时,在退出 return 0; 的程序上,它给我“发生了类型为System.AccessViolationException的未处理异常.尝试读取或写受保护的内存.这通常表明其他内存已损坏." 发生 ..
发布时间:2021-04-15 19:35:25 C/C++开发

.NET绘制全屏游戏

现在我可以绘制游戏了,但是只有当它们处于窗口模式时,我才可以绘制 TopMost 表单并将其设置为可点击即可: //C ++ .NET 4私人:System :: Void Form1_Load(System :: Object ^ sender,System :: EventArgs ^ e){int initialStyle = GetWindowLong(this->句柄-20);SetW ..
发布时间:2021-04-01 21:43:31 C#/.NET

如何在C ++/CLI winform项目中更改应用程序图标?

如何在Winform C ++/CLI项目中更改应用程序(二进制文件)图标?我正在使用MS VS 2010. 我尝试转到项目属性,但没有找到 Application 标签: 解决方案 您可以尝试在此MSDN页面上发布的方法.它获得了六票赞成,因此似乎奏效. 链接:更改.exe图标 Windows选择主要可执行文件图标的方式是,它在可执行文件的资源部分中查找第一个图标,或者 ..
发布时间:2021-04-01 21:09:53 C#/.NET

C ++/CLI委托作为函数指针(System.AccessViolationException)

我一直在尝试C ++/CLI委托(当我试图创建.NET参考库时),并且遇到了以下问题. 我在C ++/CLI中定义了一个委托,然后在C#中创建了该委托的一个实例,然后通过一个函数指针通过非托管C ++调用了该委托的实例.这一切都按预期进行. 代码来说明这一点(首先是我的C#) 使用系统;命名空间TestProgram{班级计划{静态void Main(string [] args){ ..
发布时间:2021-04-01 20:29:19 C#/.NET

P/Invoke或C ++/CLI,用于包装C库

具有中等大小(40多种功能)的C API,需要从C#项目中调用.这些函数在逻辑上分解成几个类,这些类将通过API呈现给项目的其余部分. 从健壮性,可维护性,部署等方面,是否有客观原因偏爱P/Invoke或C ++/CLI来实现该API的互操作性? 我可能想到的问题可能是但没有问题的: C ++/CLI将需要单独的程序集,P/Invoke类可以位于主程序集中.(我们已经有多个程序集 ..
发布时间:2021-04-01 20:18:31 C#/.NET

如何在Windows PE中运行C ++可执行文件?

我有一个使用CLI控制台应用程序和Visual Basic 2010制作的可执行文件。我可以从开发人员机器上完全正常地运行该程序。 但是,当我将可执行文件复制到另一台计算机上,重新引导到预安装环境,然后再次运行该可执行文件,完全没有任何反应。没有显示任何错误或任何错误。 我的猜测是,在没有此环境未加载的某些依赖项的情况下,可执行文件无法运行,但我需要它能够正常工作 有什么想法吗? ..
发布时间:2020-09-28 03:52:46 C#/.NET