managed-c++相关内容

托管 C++ 中的 C# 的 lock()

托管 C++ 是否具有与 C# 等效的 lock() 和 VB 的 SyncLock?如果是这样,我该如何使用它? 解决方案 锁/SyncLock 的等价物是使用 Monitor 类. 在 .NET 1-3.5sp 中,lock(obj) 会: Monitor.Enter(obj);尝试{//做工作}最后{Monitor.Exit(obj);} 从 .NET 4 开始,它将是: ..
发布时间:2022-01-22 20:11:02 其他开发

Windows 8 Metro 是否支持托管 c++/cli

我似乎无法在任何地方找到这个问题的答案,但 Metro 是否支持托管 C++?目前在 Visual Studios 2012 RC 中没有(仅在 Metro 中). 我有一些用 c++/cli 编写的框架,想将它们移植到 Metro.我知道 c++/cx 是相似的,但是我的 c++/cli 对象派生自用 C# 编写的对象,并且必须重写我系统的那一部分会很糟糕(但如果我这样做,我只需要知道从这 ..

使用/clr 时出现 LNK2022 错误

我在使用 /clr 编译选项时在 VS2008 中链接 C++ 项目时遇到问题.我收到以下构建错误: Class1.obj : 错误 LNK2022: 元数据操作失败 (8013118D) : 重复类型中的布局信息不一致 (_PROPSHEETPAGEA): (0x0200046f).Class1.obj:错误 LNK2022:元数据操作失败(8013118D):重复类型(_PROPSHEETP ..
发布时间:2022-01-05 19:52:54 C/C++开发

无法加载文件或程序集“***.dll"或其依赖项之一

我有一个很久以前创建的 dll,用于连接到我为其开发的特定软件的数据库.4 年多来,我使用这个 dll 的应用程序数不胜数. 尝试部署我的最新作品时,出现以下错误: System.IO.FileNotFoundException:无法加载文件或程序集“***.dll"或其依赖项之一.指定的模块无法找到. 因此,对于我写过的每个 dll,我总是制作一个简单的表单应用程序来单独测试该 dll ..
发布时间:2021-12-25 15:59:10 C#/.NET

托管 C++ 和 C++ 之间的区别

第二个问题是:我什么时候使用这两个? 解决方案 如果未指定,C++ 是非托管 C++,编译为机器码.在非托管 C++ 中,您必须手动管理内存分配. 托管 C++ 是 Microsoft 发明的一种语言,可编译为由 .NET Framework 运行的字节码.它主要使用与 C++ 相同的语法(因此得名),但编译方式与 C# 或 VB.NET 相同;基本上只有语法变化,例如使用 '->' ..
发布时间:2021-12-22 18:25:38 C/C++开发

System.IO.FileNotFoundException:部署应用程序时无法加载文件或程序集“X"或其依赖项之一

我在部署一个应用程序时遇到了一个奇怪的问题,该应用程序引用了一个用托管 C++ 编写的程序集. 我创建了一个程序集 X,编译它并在一个名为 Starter 的 exe 文件中引用它. Starter.exe 在本地机器上正常启动.但是,当我将 starter 调试文件夹的所有内容复制到虚拟机并尝试在那里启动时,它会崩溃并出现以下异常: 未处理的异常:System.IO.FileNot ..
发布时间:2021-11-26 11:53:22 C#/.NET

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

我们的项目结构是这样的, native.dll :- 这包含用 c\c++ 编写的纯本机代码.这个 native.dll 使用 *def 文件公开了一些函数. Wrapper Library(wrapper.dll 用 .Net framework v4.0 编译) :-为了使用 native.dll 的功能,需要一个 Wrapper lib(wrapper.dll)使用 :clr\o ..
发布时间:2021-11-24 12:42:54 C#

System.IO.FileNotFoundException:部署应用程序时无法加载文件或程序集“X"或其依赖项之一

我在部署一个应用程序时遇到了一个奇怪的问题,该应用程序引用了一个用托管 C++ 编写的程序集. 我创建了一个程序集 X,编译它并在一个名为 Starter 的 exe 文件中引用它. Starter.exe 在本地机器上正常启动.但是,当我将 starter 调试文件夹的所有内容复制到虚拟机并尝试在那里启动时,它会崩溃并出现以下异常: 未处理的异常:System.IO.FileNot ..
发布时间:2021-11-24 11:08:35 C#/.NET

为什么在 C++ 类定义中使用公共引用

首先,我想说明的是,我对 C++ 完全陌生,所以这可能是一个简单且有些明显的问题.在我正在阅读的 C++ 书籍 C++ Primer 中,通过以下方式定义了一个类: class 类名{民众:私人的:}; 然而,在 VS2008 中,编译器并不喜欢这样.但是通过在类之前添加公共引用,如: public ref class classname{ 它在编译器中通过了.谁能解释一下仅使用类定义和使 ..
发布时间:2021-09-18 19:11:10 其他开发

csharp 到 java JNI 移植调用以在 ubuntu 上运行

我遇到了错误:崩溃发生在本地代码中的 Java 虚拟机之外.每当我使用带有本机库和 .net 模块文件的类文件运行时,它都可以正常工作.但是当我尝试单独运行类文件和本机库时,它会崩溃.请澄清我所做的错误,请查看我的代码.供您参考参数 ============================================ 公共类 Sum{public int add(int a, int ..
发布时间:2021-09-12 19:17:32 Java开发

无法加载由 {dll} 导入的过程

我有几个非托管 C++ 编写的 lib 文件,我需要将它们链接到托管 C++ dll. 然后我需要从 C# 应用程序调用这个托管 C++ 的函数. 第一步没问题 - 创建了托管 C++ dll,我可以用 ildasm 看到它导出了我需要的函数.但是,当我尝试从我的 C# 编写的测试应用程序中调用此函数时,它说: 在未知模块中发生类型为“System.IO.FileLoadExcept ..
发布时间:2021-08-30 18:34:46 C#/.NET

使用dllexport时出错?

我想通过使用dllexport导出功能.但是我在编译器“错误C4439:'WrappedC':签名中具有托管类型的函数定义必须具有__clrcall调用约定"时遇到了错误. 我在头文件(.h)中的代码是: 外部"C"{__declspec(dllexport)int __stdcall ABC(int i);__declspec(dllexport)char * __stdcall C(i ..
发布时间:2021-04-01 21:43:15 C#/.NET

如何在托管C ++中处理IDisposable?

我正在尝试在托管C ++(.NET 2.0)中处理IDisposable对象(FileStream ^ fs)并收到错误消息 Dispose':不是'System :: IO :: FileStream 的成员 它说我应该改为调用析构函数.会打电话 fs->〜FileStream(); 在FileStream对象上调用dispose方法吗?为什么我不能打电话给Dispose? ..
发布时间:2021-04-01 20:00:45 C#/.NET

将静态本机库链接到托管C ++项目会在

简介: 托管( / clr )C ++项目( .dll )静态链接本机C ++库(使用 / MD 编译)。静态库很大,并引用了许多其他库,但是托管C ++代码使用的功能微不足道,不应引入任何其他依赖项。 问题: 由于 LNK2001 和 LNK2019 提到代码绝对不依赖的符号 即使我添加了必需的依赖项,也要切换工具集(例如,从 VS2017 迁移到 VS2019 )导致错误再 ..
发布时间:2020-10-03 01:54:32 其他开发

使用cmake将clr支持设置为true

我正在尝试使用cmake生成托管的c ++代码。以下是我为此添加的脚本 SET_TARGET_PROPERTIES($ {PROJECT_NAME} PROPERTIES COMPILE_FLAGS“ / clr”) STRING(替换“ / EHsc”“ / EHa” CMAKE_CXX_FLAGS $ {CMAKE_CXX_FLAGS}) STRING(替换“ / RTC1”“” ..
发布时间:2020-10-03 01:53:10 其他开发

如何卸载托管C ++ dll?

A.dll是本机c ++ dll,B.dll是托管c ++ dll。 A.dll依赖于B.dll,因此在加载A.dll时,会自动加载B.dll,但是在卸载A.dll之后,仍会加载B.dll。只有A.dll依赖于B.dll,为什么无法卸载B.dll?如何卸载托管C ++ dll?我正在使用vs2010。 谢谢 解决方案 您无法卸载由CLR加载后的托管程序集。唯一的方法是杀死AppDom ..
发布时间:2020-09-28 03:34:08 C/C++开发

从std :: string转换为String ^

我在C ++中有一个函数,其值在std :: string类型中,并且想将其转换为String ^。 void(String ^ outValue) { std :: string str(“ Hello World”); outValue = str; } 解决方案 Google搜索显示 marshal_as (未经测试): // marshal_a ..
发布时间:2020-09-26 23:20:55 C/C++开发