c++-cli相关内容

在C ++ / CLI中创建尺寸为空的多维数组

我正在将C#项目转换为C ++ / CLI项目。我碰到了这段代码,想验证我使用的是正确的C ++ / CLI语法。我很确定自己做错了,只是在要设置尺寸大小时设置参数。 原始C#: public double [] [] _ARRAY =新的double [num] []; C ++ / CLI: array ^ _ARRAY = g ..
发布时间:2020-09-28 03:43:35 C#/.NET

调试包装在C ++ / CLI DLL中的静态库时,调试器不会进入本机代码

在C#应用程序中,我引用的是本机C静态库,该库包装在C ++ / CLI DLL中。我选择静态库而不是DLL,因为我还有其他与应用程序向用户发布过程相关的约束。在该论坛上可用的众多主题中,我发现了以下实现。 Main: { MyCLRDLL test = new MyCLRDLL(); if(test.go())Console.WriteLine(“ Hello,wrld”); ..
发布时间:2020-09-28 03:43:33 其他开发

在C ++ / CLI中使用EventHandler

-我正在尝试在c ++ / cli中使用事件处理程序引发事件,然后在c#中订阅它。 class Mclass { event System :: EventHandler ^ someEvent; void ShowMessage(System :: String ^) { someEvent(this,message); } } -但会引发错误 错误 ..
发布时间:2020-09-28 03:42:31 C#/.NET

如何指定从C#到C ++ / CLI的回调

我想将一个函数指针(或类似函数)作为回调函数传递给从C ++ / CLI调用的C#类的构造函数。 C#类是一个子模块; C ++端是主程序。我收到由Visual Studio 2017报告的错误,我无法确定要使用的正确语法。 (我是C ++程序员,但是在CLI和C#方面经验几乎为零。)我找到了很多有关如何以其他方式设置回调的示例,但是从C#到C ++ / CLI,我几乎没有什么信息。 有人可 ..
发布时间:2020-09-28 03:41:29 C#/.NET

托管类的成员不能为非托管类类型

我正在用c ++ / clr编写程序,我需要对词法分析器进行编码。我在其中: std :: map classes = {{“关键字”,0},{“ identifier”,0},{“ digit”,0},{“ integer”,0},{“ real”,0},{“ character”,0} ,{“ alpha”,0}}; std :: vecto ..
发布时间:2020-09-28 03:41:25 其他开发

C ++ / CLI什么类包含全局函数?

如果我没记错的话,函数必须是CLR世界中一个类的成员,而全局函数在C ++ / CLI中是可能的。这是否意味着这些全局函数是某种隐藏的“全局”类的一部分?如果是这样,出于反射目的,如何去获取其类型? 解决方案 是的,.NET元数据支持全局功能,并且变量。在CLR源代码中称为“全局类”,其名称为 。使用C#本地语言,它是内部,抽象和密封为确保您永远无法创建该类的实例,尖括号 ..
发布时间:2020-09-28 03:41:14 其他开发

C vs C ++(CLI)中调试器中的浮点表示

背景知识:我正在做一些数据从 C 到 C#通过使用 C ++ / CLI 中间层,我注意到调试器显示 floats 和 double ,取决于代码在哪个dll中执行(请参见下面的代码和图像)。起初,我认为这与托管/非托管差异有关,但是后来我意识到,如果完全将 C#层排除在外,而仅使用非托管数据类型,表现出相同的行为。 测试用例:为了进一步探讨该问题,我创建了一个隔离的测试用例以清楚地识别奇怪 ..
发布时间:2020-09-28 03:41:11 C/C++开发

在C ++中触发事件并在C#中处理它们

我有一台带有一些数字I / O引脚的工业计算机。制造商提供了一些C ++库和示例来处理引脚状态更改。 我需要将此事件集成到C#应用程序中。 AFAIK执行此操作最简单的方法是: 为制造商库制作托管的C ++ / CLI包装器,以便在发出中断时触发事件 引用并包装和处理C#部分中的事件,因为它们是正常的C#事件。 我试图用一些没有运气的模拟对象来完成这项工作。从文档来看,在我的案 ..
发布时间:2020-09-28 03:41:04 C#/.NET

C#和C ++类继承混合

我有一个有趣的程序集,我想将它们放在一起: 通用程序集(C#或C ++-CLI) 公共类MyBase { public void MethodA() {...} 私有无效MethodB() {...} 受保护的虚拟MethodC() {...} } 测试代码程序集(全部C ++-CLI) 公共类MySpecific:公共MyBase { 保护 ..
发布时间:2020-09-28 03:41:00 C#/.NET

如何在C ++-CLI中创建全局句柄

我试图在C ++-CLI项目中使用C#类,但是Visual Studio只允许我在函数内部在局部范围内声明C#对象的句柄(^)。我唯一能正常工作的方法是声明一个指向句柄的全局指针: SUTAdapter :: Form1 ^ * ptForm1; 但是,如果我在函数内创建一个对象,并将其地址提供给全局指针: SUTAdapter :: Form1 ^ form1 ..
发布时间:2020-09-28 03:38:51 其他开发

将System :: object转换为字符串数组

在后台工作程序通过串行端口接收数据的过程中,我需要返回字符串的三维数组。 在后台工作程序中: array ^收到= gcnew array(4); backgroundWorker1-> ReportProgress(10,Received); 报告进度: 私有:System :: Void backgroun ..
发布时间:2020-09-28 03:38:41 其他开发

在C ++ / CLI中访问嵌入式资源

我已经使用C#一段时间了,这次我正试图用C ++编写.NET应用。在C#中,我可以很容易地从代码访问托管资源,资源文件的名称就像一个类一样工作,因此,如果在资源文件cba.resx中有一个名为“ abc”的字符串,只需编写cba.abc与资源文件中的字符串一起返回。甚至intellisense也可以使用它。同样的东西也可以用于图标等。 在C ++中是否可以做同样的事情,如果可以,怎么做?否则 ..
发布时间:2020-09-28 03:37:39 C#/.NET

将C ++ / CLI模板化包装器暴露给C#

我目前正在使用可视化编辑器来构建有限状态机。核心是c ++,因为内置的FSM将在游戏中运行。编辑器是c#。我能够使用CLI包装程序,因此可以在c#端构建所需的一切。 我想做的最后一件事是能够将模板化类公开给c#。 我首先创建了一个托管类: 模板 public ref class TestTemp { private: ClassToWrap ..
发布时间:2020-09-28 03:37:33 C#/.NET

C ++ / CLI AES 256位加密

到目前为止,我发现的大多数示例和问题仅适用于C#,但是我试图将以下C#代码重现为C ++ / CLI: 使用System.Security.Cryptography; 使用System.IO; public byte [] AES_Encrypt(byte [] bytesToBeEncrypted,byte [] passwordBytes) { byte [] encryp ..
发布时间:2020-09-28 03:37:27 C#/.NET

Visual Studio 2015 c ++ / CLI Boost ::线程

所有Visual Studio版本都存在此问题,但是在VS 2015中,“老把戏”似乎不再起作用。 这就是我的目的尝试过: 在VS 2013和2015中创建Windows窗体应用程序(自VS 2013起缺少该宏,因此请参见帖子:找不到适用于C ++的Windows窗体应用程序) 将boost headers路径添加到“其他包含目录” add #include“ boost ..
发布时间:2020-09-28 03:37:25 其他开发

从Visual C ++调用C#代码

基本上,我需要从Visual C ++代码中调用C#代码。 阅读了很多有关可能方法的文章后,我决定要使用C ++ / CLI机制。 最初,我决定我将使用C ++原生功能代码(dll库项目),他们将从CLR项目中调用某些功能,而CLR项目中将调用C#项目中的某些功能。 之后,我想也许我可以摆脱了桥梁项目(CLR项目),因为它仅过渡到托管世界。我认为我可以创建本机项目,可以向其中添加一个 ..
发布时间:2020-09-28 03:36:22 C#/.NET