问题标签 [c++-cli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
data-structures - C++:形成不同数据类型的集合的合适解决方案是什么?
我正在编写一个命令行解释器,并且正在尝试为各个命令设置格式。我有诸如命令名称、最大参数数量和最小参数数量之类的东西。我想要一个集合,一个参数类型的原型。我的第一个想法只是声明一个没有泛型的向量,但后来我意识到这不是 Java。
假设我有一个命令,例如“read test.dat 2”,我想要一个结构,显示典型的读取命令有一个字符串,然后是一个整数。
有任何想法吗?
c++-cli - 订阅事件的 C++/CLI 语法是什么?
我正在更新一些旧的托管 C++ 代码,如下所示:
在哪里
- EventSource是发布事件的类
- instanceOfEventSource是该类的一个实例
- EventSource::MyEventHandlerDelegate是事件的委托类型
- MyEventHandlerMethod是当前类(其中“this”是一个实例)中的(非静态)方法,其签名匹配 EventSource::MyEventHandlerDelegate
在 C++/CLI 中正确的语法是什么?
arrays - 将数组初始化为固定长度数组的最佳方法是什么?(C++/CLI)
在托管 C++/CLI 中,我可以像 (1) 一样执行此操作:
或 (2):
但我显然做不到(3):
即使我可以做到(4):
有没有更好的方法让我想念?我想要一种简单/干净的方式来写这样的东西:
谢谢!
.net - Visual C++ GUI 应用程序卡在 MTA 模式
我有一个 C++ gui 项目表现出一些奇怪的行为。在我的机器上,代码编译并运行得很好。但是,在另一台机器上,代码编译但最终以某种方式在 MTA 中运行。显然,在 MTA 中会导致 GUI 出现各种运行时问题。这是我的主要内容:
我可以在 main 的第一行放置一个断点来检查公寓状态,并且在正确构建/执行的机器上,它将是“STA”,正如预期的那样。但是,在有问题的机器上,它将是“MTA”。我什至可以尝试将公寓模式切换到 STA,但没有效果。
我已经尝试在编译之前删除调试/发布目录并清理项目,在没有附加调试器的情况下运行,都无济于事。我无法确定哪些机器工作和哪些不工作的任何模式。如果我在工作机器上编译 exe 并将其带到有问题的机器上,它将正确执行,所以我怀疑这在某种程度上是构建环境问题。所涉及的所有机器都运行带有 Visual Studio 2008 标准的 Windows XP。有任何想法吗?
visual-c++ - 在 C++/CLI 中,帽子字符 ^ 有什么作用?
我正在阅读 Ivor Horton 的《Beginning Visual C++ 2008》,它的许多 CLR 示例都对 main 有以下定义:
我一页一页地回到书的开头,找到了第一个这样的例子,并解释了它的真正含义,但找不到。
显然它的含义与 standard 相同int main(int argc, char *argv[])
,但我想知道何时以及为什么^
真正使用它,以及它为什么存在(它是否做了指针*
和引用&
无法表示的事情)?
visual-c++ - 您可以从非托管 C++ 类派生托管 C++ 类吗?
我有一个未管理的 C++ 类,我用未管理的 dll 编写。我有一个引用非托管 dll 的托管 dll。托管 dll 中的类可以派生自非托管类吗?
使用 Visual Studio 2008
c++ - 在 C++ DLL 和 Cpp/CLI 控制台项目之间传输对象向量
我有一个与 C++ 服务器对话的 C++ 库应用程序,我正在创建我的自定义类对象的向量。但是当我尝试返回我的自定义类 obj 向量时,我的 Cpp/CLI 控制台应用程序(与本机 C++ 交互)会引发内存冲突错误。
代码示例 -
在我的原生 C++ 类中 -
在我的 Cpp/CLI 类中
确切的错误信息
CLIConsole.exe 中发生了“System.AccessViolationException”类型的未处理异常——这是我的控制台 cpp/CLI 项目
附加信息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。
c# - C++ CLI 神秘的函数调用
所以我试图调用一个函数,它是一个围绕 OCX 对象的管理包装器。有很大的困难。功能是;
其中 'theBuffer' 是一个字节数组。'foo' 包装的非托管 OCX 的模板是
所以我试过了;
失败了。和
它可以编译,但显然被调用的函数不会为我创建 .NET 位图。
所以我想问题是我如何将这个函数传递给它可以写入的内存块,然后在.NET世界中访问它。
谢谢
visual-studio-2008 - Visual Studio 2008 链接器错误:ALINK 操作失败 (80070005):访问被拒绝
我的计算机和构建机器上安装了 Visual Studio 2008 (9.0.30729.1 SP)。在我的电脑上,一个项目构建良好。在构建机器上,我已经开始收到此错误。ALINK 操作失败 (80070005):访问被拒绝
这非常令人恼火,因为它没有说访问什么???被拒绝。
我尝试重新启动机器,并更改项目的输出目录。这是一个 C++/CLI DLL。该项目与大量库链接,因此广泛检查它链接的所有内容并不实际,但快速扫描该项目,似乎没有任何东西丢失或锁定。
无论如何,我可以弄清楚链接器在抱怨什么?听起来像是链接器(1)中的错误,但正如我所说,我的 PC 中安装了相同的 Visual Studio,并且项目构建良好。
(1) 您可能会争辩说无用的错误消息是错误。
c++-cli - 有没有办法使用 C++/CLI 管理的枚举作为数组下标?
我有一个枚举声明为
和一个声明为的数组
我想做这样的事情: