c++-cli相关内容

为什么调试时Visual Studio 2015表单大小会更改? (C ++ / CLI)

决定开始从事使用GUI创建C ++程序的个人项目。我想到的想法是通过在个人项目上实现我在大学里所学的东西。 调试之后,我发现尺寸已经很大。出于某种原因,调试时所有内容都会向下缩放。我猜想这与Visual Studio无法识别当前的屏幕分辨率或与主题(这是普通的Windows 10主题)冲突有关。 请告诉我在Visual Studio中使用C ++实现GUI时是否错过了某个步骤,或者 ..

如何将C代码插入C ++ / CLI代码?

我有一些用C编写的文件,我想插入到我的.NET C ++ / CLI代码中。 此C代码非常庞大,尚未由我,所以对我来说“翻译”所有代码将是一项艰巨的任务。 如何插入此代码并调用所需的函数而不会出现任何兼容性问题? 我曾经认为,如果C ++ / CLI肯定是C ++并且C与C ++兼容,将C代码插入C ++ / CLI代码没有问题。但是我读过一些叫做 extern“ C” 的东西,这让 ..
发布时间:2020-09-28 03:52:39 C#/.NET

Visual C ++ CLR设计器在项目的第二次运行和编辑设计中始终显示0x8000000A错误

我正在尝试为我的csgo作弊游戏制作出色的GUI。我决定使用C ++ / CLR。 首先,我创建一个空项目,然后在属性入口点和子系统中进行更改,并将此代码添加到cpp文件中: #include“ MyForm.h” 使用命名空间System;` 使用命名空间System :: Windows :: Forms; [STAThreadAttribute] void M ..
发布时间:2020-09-28 03:51:35 C/C++开发

为什么我可以在C ++ / CLI中声明const结构,但不能在C#中声明?

我已经找到了有用的答案,为什么根本不应该这样做: 为什么C#限制可以声明为const的类型集? 为什么不能将结构声明为const? 第一个有一个详细的答案,我仍然必须重新阅读几次,直到完全理解为止。 第二个有一个非常简单明了的答案(就像“构造函数可能会做任何事情,因此必须在编译时运行和评估”。。) 但是两者都引用C#。 但是,我正在使用C ++ / CLI,并且 ..
发布时间:2020-09-28 03:51:30 C#/.NET

如何使用事件/代理/回调将数据从MFC移动/复制到C ++ / CLI

我们有一个MFC应用程序设置,只要有新数据可用,客户端就会从服务器接收数据。客户端正在用C#重写,但与服务器部分的通信是在MFC中。我们已经为与MFC相关的类编写了C ++ / CLI包装器,并且能够在应用程序初始化时接收数据。通信引擎仍在MFC中,并且我们仅为数据项创建了包装器类。初始化CLI包装器时,我们将数据从MFC阵列复制到CLI阵列。但不确定5秒钟后如何获取接收到的数据。它如何通知C + ..
发布时间:2020-09-28 03:50:28 C/C++开发

此管理对象存储在哪里?

值类ValBase { public: int a; }; ref类别RefBase { public: int a; }; int main(array ^ args) { RefBase ^ RefBase1 = gcnew RefBase; //法律。在CLR堆上创建的引用类型Managed Obj。 ..
发布时间:2020-09-28 03:50:25 其他开发

为什么“候选功能不可用”?虽然宣布公开

我在调用某些成员时遇到编译错误候选函数无法访问,尽管我将它们声明为 public 。 仅当涉及到 vtk 中的某个类(作为返回类型或作为参数)时,我才会收到错误消息当要调用的类与调用代码不在同一VS项目中时。我也尝试了其他没有运气的vtk类型:( 下面是一些测试代码: // Ah,在单独的类库 #include public ref class A ..
发布时间:2020-09-28 03:50:18 C#/.NET

System :: Boolean变量上的三元运算符

如何在System :: Boolean中使用三元运算符?此示例代码始终返回true: bool Test(布尔值) { 返回值?真假; } 解决方案 回答我自己的过早问题,这段代码有效: bool测试(布尔值) { 返回(布尔)值?真假; } 编辑:更好(并且遵循汉斯和马特的建议),此代码有效更好: 布尔测试(布尔值) { 返 ..
发布时间:2020-09-28 03:50:15 其他开发

CLI / C ++。与“普通” c ++或可视c#有什么不同?

我在学校里用Dev C ++编写了一些不太雄心勃勃的小型程序,现在已经上学了。但是现在出来了,我需要制作一个窗口应用程序。我看到有人为此使用Visual Studio。 几天前,我得到了Visual Studio C ++ Express,经过一段时间的编码,几行之后,我意识到它与我使用的“普通” C ++有很大不同远。甚至字符串的声明也让我头疼。我想问一下,如果视觉C#与我所知道的更相似, ..
发布时间:2020-09-28 03:50:11 C#/.NET

C ++ / CLI:返回对非托管对象的引用

我正在寻找一种将引用返回到另一个对象的方法,该对象是托管对象的成员。这可以在C ++中轻松实现,但是对于将C ++ / CLI包装器与C#一起使用是一个挑战。下面是可重现的场景(有很多代码,但是都非常容易,仅演示问题) C ++类: 类NATIVEAPI NativeSlave { public: NativeSlave():x_(0),y_(0.0) { } Nat ..
发布时间:2020-09-28 03:48:07 C#/.NET

c ++ CLI导出void return __declspec(dllexport)无法应用于具有__clrcall调用约定的函数

我正在尝试从包装C#.Net函数的C ++ Cli中导出一些void /函数。 此刻,我可以正确地导出返回整数的方法值,但是当我尝试导出Void时,出现错误: 错误C3395'Test2':__declspec(dllexport)无法应用于函数__clrcall调用约定ClassLibrary1 这是完整代码: #pragma一次 使用命名空间System; 使用 ..
发布时间:2020-09-28 03:48:03 C/C++开发

GetHashCode-从64位地址生成哈希码

我们有一个32位C ++ / CLI程序集,其中一个类包装了一个本机对象。它覆盖GetHashCode以返回它包装的本机对象的地址(m_native是指针): int NativeWrapper :: GetHashCode( ) { return(int)m_native; } 我现在正在将该程序集转换为支持64位,因此当前GetHashCode实现不再适合。是否 ..
发布时间:2020-09-28 03:47:01 其他开发

当我在控制台中选择某个区域时,UI会挂起

我将消息记录到控制台。但是我有一些有趣的效果。当我在控制台中选择一些消息时,我的UI挂起。当我在控制台中取消全选时,UI仍然有效。 我不喜欢这种行为。 有什么解决方法吗? 控制台:: WriteLine(“信息”); 解决方案 您正在控制台中选择文本。您可以想象,如果控制台继续输出信息,将很难选择您要选择的内容,因此系统将暂停可见的更新。如果您希望应用程序继续显示可见 ..
发布时间:2020-09-28 03:46:58 C#/.NET

如何在没有CWinApp派生类的情况下实现MFC序列化?

我正在为旧的MFC应用程序编写C ++ / CLI包装器,到目前为止,我已经能够读取大多数数据并将其转换为C#可读格式。 到目前为止,我只是在努力读取数据,担心将数据写回到旧的MFC代码会影响序列化? 你们还能分享/提及其他问题吗?在为MFC代码编写C ++ / CLI包装器时我可能会面临风险? 感谢您的输入。 这问题是“ 将数据从MFC CA重定向到boost :: ar ..
发布时间:2020-09-28 03:46:54 C/C++开发

在托管C ++上使用非托管指针来回调函数

我正在为控制工业计算机上的数字I / O引脚的某些C ++库(静态.lib,无源代码)编写C ++ / CLI的包装。 我的目标是使用.NET CLR处理现有C#应用程序上DIO引脚的事件。 我唯一想到的可行选择是使用委托当引脚状态更改时(由现有的lib通知),在C ++ / CLI中触发事件,然后在C#部分中处理这些事件。我已经在这里使用简单的模拟对象尝试了基本功能:我的问题是,当引 ..
发布时间:2020-09-28 03:45:52 C#/.NET

将非托管方法作为回调传递给托管C ++ / CLI类

我想将C ++成员函数作为回调传递给C#项目。我在C ++ / CLI中还有其他项目,我想通过它完成。 因此,在我的C ++ / CLI项目的非托管C ++中,我有一个函数对象: std :: function回调; 此函数来自我的C ++项目,它工作正常,我将其保存在那里作为示例以避免上一步。现在,我想将此回调函数传递给我的C#项目。为此,我在非托管C ++中 ..
发布时间:2020-09-28 03:45:48 C#/.NET