c++-cli相关内容

C ++/CLI速记属性

开发人员如何在托管c ++中做到这一点? : c#代码 public String SomeValue { get; set; } 我已经在网上搜索并找到了一些解决方案,但是鉴于吸气剂/设置器和托管c ++的丰富历史,很难区分哪种方法是正确的(最新的.NET 3.5). 谢谢! 解决方案 托管C ++不支持自动属性.您应该手动声明一个后备字段和访问器: ..
发布时间:2020-07-07 02:30:49 其他开发

将非托管C ++ DLL与托管C ++类库DLL链接

如问题创建简单的c ++.net包装器一样.逐步 我正打算在.NET中使用C ++类 但是我在Visual Studio(2008)中构建时遇到问题. 我有一个非托管类A(用/clr编译的C ++). 我创建了一个C ++/clr类'Class1',该类包装了A并匹配 方法委托给A的方法. 如果我在类库中包含A类的单位源文件 Class1的项目(托管),我没有问题 一切都可以正常 ..
发布时间:2020-06-30 22:42:13 其他开发

在C ++/CLI中动态加载EXE程序集时发生异常(无法加载文件或程序集',版本= 1.0.3836.39802 ...)

我在动态加载程序集时遇到了C ++/CLI中的异常,该程序集本身使用Assembly.Load在C ++/CLI托管模式下创建了一个EXE.它可以成功加载DLL程序集,但无法加载EXE程序集并生成以下异常: TestManager.dll中发生了'System.IO.FileLoadException'类型的未处理异常 无法加载文件或程序集'testAssembly,Version = ..
发布时间:2020-06-30 22:42:08 C#/.NET

列表< T>在C ++/CLI中查找方法

为什么它在C ++/CLI中不起作用? _list->Remove(_list->Find(x => x.Inode == 2)); 我收到错误error C2065: 'x' : undeclared identifier 解决方案 @Hans Passant的评论就是答案,所以我将其粘贴在这里: C ++/CLI不支持lambda表达式.该语言在2005年被冻结,从那以 ..
发布时间:2020-06-26 13:40:31 C#/.NET

auto_handle仍然是建议的处理方式吗?

我的一个同事在周末碰到了一篇有关codeproject的文章,其中描述了我们倾向于显式刷新并关闭文件句柄,然后删除指针并将它们清空以确保GC没有借口不收集它们(是的,我们知道我们是超级偏执狂).使用类似auto_handle的东西看起来可以帮助我们更加懒惰(并且在安全的情况下我们喜欢懒惰),但是我们现在不想开始使用它被认为是不好的做法,并且/或者我们可以使用更好的东西 解决方案 C ++/ ..
发布时间:2020-06-17 19:29:35 C#/.NET

执行存储的回调时发生System.AccessViolationException错误

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

.Net Core中的C ++ / CLI支持

我们的项目结构是, native.dll :-其中包含用c编写的纯本机代码\c ++。 此native.dll使用* def文件公开一些功能。 包装器库(使用.Net Framework v4编译的wrapper.dll。 0):- 为了使用 native.dll 的功能,需要使用 Wrapper lib(wrapper。 dll) 使用:clr\oldsyntax C ++ \ ..
发布时间:2020-05-31 19:20:20 其他开发

如何使用框架库进行编译?

我为SMO应用程序编写了托管代码。如何使用 .NETFRAMEWORK2.0对其进行编译。由于某些局限性,我不愿意使用visulastudio。 我该怎么做。 msbuild.exe TestMsBuild.sln /:t Rebuild /:p configuration = release会给出错误,因为 TestMsBuild.sln:解决方案文件错误MSB4054: ..
发布时间:2020-05-31 18:38:21 C#/.NET

D8045:无法使用/ clr选项编译C文件'serialcommands.c'

我收到编译器错误D8045。不能使用/ clr选项编译C文件'serialcommands.c'。 此文件是一个C库,已编写为通过串行端口与TI处理器通信。 。我需要做的任务是用CLR包装器包装该库(如果您希望从CLI问题中获得一些更简单的信息,则会在stackoverflow上发布有关来回编组数据的其他问题。) 我只想从CLR包装器中使用此C库。我去了 属性->配置属性-> C / ..
发布时间:2020-05-30 21:57:59 C#/.NET

将托管功能指针作为非托管回调传递

我试图将托管函数指针 void(*)(void *)传递给我的非托管库。我的非托管库使用带有指向CriticalSection保护的数据帧的指针来调用此回调。在托管回调运行时,由于关键部分,其他任何东西都不能修改数据帧。但是,我只是通过输入回调来获得访问冲突和堆损坏。 编辑:我忘了提。 StartStreaming()窃取它管理的线程。此外,它创建了一个单独的线程,用于将新数据调度到给定的回 ..
发布时间:2020-05-30 20:20:10 C#/.NET

C ++ / CLI和CMake

我正在尝试使用cmake设置C ++ / CLI项目。我已经在Visual Studio 2010上实现了成功,但是现在我正在使用一个需要Visual Studio 2008的旧解决方案。在Visual Studio 2010中,这样设置我的cmake就足够了: set_target_properties($ {PROJECT_NAME} PROPERTIES VS_DOTNET_REFE ..
发布时间:2020-05-30 20:12:56 C#/.NET

如何将System :: array转换为std :: vector?

有没有简单的方法可以将CLI / .NET System :: array 转换为C ++ std :: vector ,除了按元素进行操作外? 我正在编写包装方法( SetLowerBoundsWrapper,在下面)在CLI / C ++中,它接受 System :: array 作为参数,并将等效的 std :: vector 传递给原生C ++方法( set_lower_bounds ..
发布时间:2020-05-30 20:09:45 C#/.NET

如何从非托管代码中调用托管代码?

我想从非托管C ++调用.NET代码。我的流程入口点是基于.NET的,因此我不必担心托管CLR。我知道可以使用.NET对象的COM包装器来完成此操作,但是我想访问托管类的各个静态方法,因此COM不是我最短/最简单的方法。 解决方案 假定您正在谈论真正的非托管代码-不仅仅是运行在使用/ clr编译的混合模式程序集中的本机C ++-最简单的方法是为.NET创建包装器C ++ / CLI中的代码 ..
发布时间:2020-05-30 19:36:02 C#/.NET

C ++/CLI:将相同的非托管对象包装在多个托管对象中

我正在开发一个具有两层的库,即非托管(C ++)和托管(C ++/CLI).非托管层包含逻辑和计算算法,而托管层为基于.NET的主机应用程序提供接口和可视化.托管层中的类将其类对应物包装在非托管层中,例如ManagedA包装UnmanagedA,ManagedB包装UnmanagedB. 非托管层中的类具有查询方法,假设UnmanagedA :: B()返回UnmanagedB的实例.为了可 ..
发布时间:2020-05-28 23:24:16 其他开发

是否将本机指针转换为C ++ \ CLI受管对象引用?

我有一个通过委托调用的回调.在其中,我将需要处理来自记录过程的缓冲区数据.通常,在非托管上下文中,我可以在dwParam1上执行reinterpret_cast以获取对象引用. 但是在托管环境中,如何将DWORD_PTR强制转换为托管对象ref? static void WaveInProc(HWAVEIN hwi, UINT uMsg, DWORD_PTR dwInstance, ..
发布时间:2020-05-28 21:46:43 其他开发

c ++/cli caret ^ vs.指针*?

我已经在C和C#中进行了很长时间的编程,我认为向C ++过渡很容易... 无论如何,我已经看到了插入符号的用法,但我不明白它的含义. 有什么区别: std::string *st1; 到 String::string ^st2; 谢谢! 解决方案 插入符号特定于指针的托管等效项. 它实际上不是标准C ++的一部分,因此除非您真的打算使用.NET,否则不要使 ..
发布时间:2020-05-28 21:25:27 其他开发

如何从C#调用C ++/CLI?

我有一个用C ++实现的类,它负责程序的算术计算,以及一个使用WPF的接口.我使用C#处理输入,但是如何使用C ++类呢? 我已经看到一些有关使托管C ++包装器类与之交互的评论,但我不知道从哪里开始.我也不知道该如何与其他所有代码一起进行编译.我真的找不到关于此的教程,谷歌在托管C ++上显示的内容似乎并没有帮助. 有什么可以帮助我的吗?对我来说,这似乎并不合理. 编辑尝试了m ..
发布时间:2020-05-27 21:23:50 C#/.NET