c++-cli相关内容
我搜索了每个主题以正确创建带有参数 (wstring) 的新线程,但没有任何效果.我该如何解决我的问题?我为我的 .Net UI 应用程序创建了这个项目,所以之前我使用 std::thread 和 std::mutex,但 VSC++ Forms 中的“惊人".NET 不支持它. 命名空间索引{引用类 FileIndex{民众:文件索引();文件索引(文件索引^);虚拟 ~FileIndex()
..
我有一个使用 OpenCV 的 C++/CLI 项目.我自己在 VS 2010 中编译了这个版本的 OpenCV,我可以在非托管项目中使用它而不会出现问题——当我尝试在托管项目中使用它时,麻烦就开始了. 感兴趣的函数是cv::imread(std::string&, int).简单地从托管模块调用它根本不起作用,产生在接收端.我有点期待它.毕竟,托管代码有自己的 std::str
..
我正在为本机 C++ 库编写 C++/CLI 包装器.在返回给 CLI 包装器的类之一中,使用线程,特别是头中的 #include 来定义类级别的互斥锁. 问题是,一旦将标头引入 CLI 代码(启用了/clr 选项),我就会收到错误消息,即使用/clr 或/进行编译时不支持 clr:纯. 阅读这篇文章 当我收到此错误时如何实现非托管线程安全集合:使用/clr
..
安装最新的稳定版 Visual Studio 2019 16.4.2(检查 .NET Core Development 和 Desktop development with C++ 工作负载,还要确保C++/CLI 支持 组件已选中). 使用 CLR 类库 (.NET Core) 创建新项目模板(或 CLR 空项目 (.NET Core),如果您愿意). 通过 dotnet build 命令编
..
这是我的问题. 我正在尝试从连接的设备获取原始输入.我正在使用MSDN 可以弄清楚,但对于让我理解其中的一些内容. 我相信我已经成功创建了 GetRawInputDeviceList ,这是第一个参数的文档(您将其作为null传递): 与系统相连的设备的RAWINPUTDEVICELIST结构的数组.如果为NULL,则在* puiNumDevices中返回设备数. 这是返回
..
假设我的应用程序由3个组件组成.他们是: c ++本机库 c ++ cli托管库,其中包装了本机库 c#gui应用程序. 据我了解,从本机c ++库引发的任何本机异常都将被SEHException托管类包装.我对接下来的步骤感兴趣,建议在创建此类异常对象之后执行哪些操作. 我应该在c ++ cli托管库中捕获所有此类可能的异常,然后创建适当的托管异常吗?像这样: void
..
我想使用CMake在MSVC中创建一个解决方案,该解决方案具有两个项目(在CMake词汇表中,一个C#执行程序和一个C ++/CLR库). 我该怎么做?我发现的所有示例都是关于CMake中的一种类型的项目(所有C ++或C#). 要澄清: 如果要使用CMake创建C ++/CLR项目,可以编写如下代码: cmake_minimum_required(版本3.5)项目(Test
..
我在VS2017中创建了一个CLR项目. 包含: CLR类库(C ++).NET Framework 4.5 C#ConsoleApp 在库中定义了一个简单的ref类.该类是从我的C#代码中调用的.我对它的性能很好,但是它并不总是能正常工作. 这取决于我的运行方式. “调试"和"x86"有效 “调试"和"x64"不起作用 “发布"和"x86"有效 “发布"和"
..
我需要基于ListView标头的单击来对ListView上的内容进行排序.我正在使用C ++/CLI,所以我得到了 ListViewColumnSorter.cpp //////此类是"IComparer"接口的实现.///#include"ListViewColumnSorter.h"ListViewColumnSorter :: ListView
..
我想在Windows 7 32位客户端上部署C ++/CLI应用程序.我已经使用Visual Studio 2017构建了它,我注意到我的项目需要Visual C ++ 2017 Redistributable. 我的可执行文件小于1兆字节,MSVCR依赖项为13兆字节,对于这个应用程序来说确实很大. 有什么办法可以减小这种尺寸? 解决方案 我找到了可能的解决方案,但我不知道它
..
在 C ++/CLI 项目中,我有方法 void DoSomething(long x); .如果我想在用 C#编写的任何单元测试中使用它,则方法参数 x 会显示为类型 int . 为什么我必须在单元测试(C#)中将签名更改为 void DoSomething(long long x); 并将其与类型为 long 的参数一起使用? 解决方案 在C#中, long 是64位数据类型.在
..
如何将带有pdfsharp lib的Acroforms(或任何输入字段)添加到pdf中?例如一个文本框(PdfSharp :: Pdf :: AcroForms :: PdfTextField)我找不到任何示例,只能阅读/修改. 我发现"page-> Elements-> Add(key,pdfitem)",但是我无法从PdfSharp :: Pdf :: AcroForms :: PdfT
..
我正在尝试使用字符串参数打开文件,但是出现以下错误: 错误C2664:'void std :: basic_ifstream :: open(const wchar_t *,std :: ios_base :: openmode,int)':无法从'System :: String转换参数1^'至'const wchar_t *' 如何将 System ::
..
此C ++程序是使用Visual Studio 2010创建的.这是一个小组项目,每个班级的人都被困住了. 该程序最初可以正常运行,并且用户可以运行该程序并添加写出到文件中的项目. 当用户完成操作时,在退出 return 0; 的程序上,它给我“发生了类型为System.AccessViolationException的未处理异常.尝试读取或写受保护的内存.这通常表明其他内存已损坏." 发生
..
现在我可以绘制游戏了,但是只有当它们处于窗口模式时,我才可以绘制 TopMost 表单并将其设置为可点击即可: //C ++ .NET 4私人:System :: Void Form1_Load(System :: Object ^ sender,System :: EventArgs ^ e){int initialStyle = GetWindowLong(this->句柄-20);SetW
..
如何在Winform C ++/CLI项目中更改应用程序(二进制文件)图标?我正在使用MS VS 2010. 我尝试转到项目属性,但没有找到 Application 标签: 解决方案 您可以尝试在此MSDN页面上发布的方法.它获得了六票赞成,因此似乎奏效. 链接:更改.exe图标 Windows选择主要可执行文件图标的方式是,它在可执行文件的资源部分中查找第一个图标,或者
..
我一直在尝试C ++/CLI委托(当我试图创建.NET参考库时),并且遇到了以下问题. 我在C ++/CLI中定义了一个委托,然后在C#中创建了该委托的一个实例,然后通过一个函数指针通过非托管C ++调用了该委托的实例.这一切都按预期进行. 代码来说明这一点(首先是我的C#) 使用系统;命名空间TestProgram{班级计划{静态void Main(string [] args){
..
具有中等大小(40多种功能)的C API,需要从C#项目中调用.这些函数在逻辑上分解成几个类,这些类将通过API呈现给项目的其余部分. 从健壮性,可维护性,部署等方面,是否有客观原因偏爱P/Invoke或C ++/CLI来实现该API的互操作性? 我可能想到的问题可能是但没有问题的: C ++/CLI将需要单独的程序集,P/Invoke类可以位于主程序集中.(我们已经有多个程序集
..
我正在寻找解决方案,如何将网站读取到system :: String ^ 我发现curl变成了std :: string的想法,但是在转换链接器后有一些错误; / 这是我的代码: 使用命名空间std; 字符串内容; size_t handle_data(void * ptr,size_t size,size_t nmemb,void * stream) { int
..
我有一个使用CLI控制台应用程序和Visual Basic 2010制作的可执行文件。我可以从开发人员机器上完全正常地运行该程序。 但是,当我将可执行文件复制到另一台计算机上,重新引导到预安装环境,然后再次运行该可执行文件,完全没有任何反应。没有显示任何错误或任何错误。 我的猜测是,在没有此环境未加载的某些依赖项的情况下,可执行文件无法运行,但我需要它能够正常工作 有什么想法吗?
..