问题标签 [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.

0 投票
3 回答
208 浏览

data-structures - C++:形成不同数据类型的集合的合适解决方案是什么?

我正在编写一个命令行解释器,并且正在尝试为各个命令设置格式。我有诸如命令名称、最大参数数量和最小参数数量之类的东西。我想要一个集合,一个参数类型的原型。我的第一个想法只是声明一个没有泛型的向量,但后来我意识到这不是 Java。

假设我有一个命令,例如“read test.dat 2”,我想要一个结构,显示典型的读取命令有一个字符串,然后是一个整数。

有任何想法吗?

0 投票
2 回答
4560 浏览

c++-cli - 订阅事件的 C++/CLI 语法是什么?

我正在更新一些旧的托管 C++ 代码,如下所示:

在哪里

  • EventSource是发布事件的类
  • instanceOfEventSource是该类的一个实例
  • EventSource::MyEventHandlerDelegate是事件的委托类型
  • MyEventHandlerMethod是当前类(其中“this”是一个实例)中的(非静态)方法,其签名匹配 EventSource::MyEventHandlerDelegate

在 C++/CLI 中正确的语法是什么?

0 投票
4 回答
5956 浏览

arrays - 将数组初始化为固定长度数组的最佳方法是什么?(C++/CLI)

在托管 C++/CLI 中,我可以像 (1) 一样执行此操作:

或 (2):

但我显然做不到(3):

即使我可以做到(4):

有没有更好的方法让我想念?我想要一种简单/干净的方式来写这样的东西:

谢谢!

0 投票
2 回答
759 浏览

.net - Visual C++ GUI 应用程序卡在 MTA 模式

我有一个 C++ gui 项目表现出一些奇怪的行为。在我的机器上,代码编译并运行得很好。但是,在另一台机器上,代码编译但最终以某种方式在 MTA 中运行。显然,在 MTA 中会导致 GUI 出现各种运行时问题。这是我的主要内容:

我可以在 main 的第一行放置一个断点来检查公寓状态,并且在正确构建/执行的机器上,它将是“STA”,正如预期的那样。但是,在有问题的机器上,它将是“MTA”。我什至可以尝试将公寓模式切换到 STA,但没有效果。

我已经尝试在编译之前删除调试/发布目录并清理项目,在没有附加调试器的情况下运行,都无济于事。我无法确定哪些机器工作和哪些不工作的任何模式。如果我在工作机器上编译 exe 并将其带到有问题的机器上,它将正确执行,所以我怀疑这在某种程度上是构建环境问题。所涉及的所有机器都运行带有 Visual Studio 2008 标准的 Windows XP。有任何想法吗?

0 投票
3 回答
23714 浏览

visual-c++ - 在 C++/CLI 中,帽子字符 ^ 有什么作用?

我正在阅读 Ivor Horton 的《Beginning Visual C++ 2008》,它的许多 CLR 示例都对 main 有以下定义:

我一页一页地回到书的开头,找到了第一个这样的例子,并解释了它的真正含义,但找不到。

显然它的含义与 standard 相同int main(int argc, char *argv[]),但我想知道何时以及为什么^真正使用它,以及它为什么存在(它是否做了指针*和引用&无法表示的事情)?

0 投票
3 回答
3737 浏览

visual-c++ - 您可以从非托管 C++ 类派生托管 C++ 类吗?

我有一个未管理的 C++ 类,我用未管理的 dll 编写。我有一个引用非托管 dll 的托管 dll。托管 dll 中的类可以派生自非托管类吗?

使用 Visual Studio 2008

0 投票
3 回答
2193 浏览

c++ - 在 C++ DLL 和 Cpp/CLI 控制台项目之间传输对象向量

我有一个与 C++ 服务器对话的 C++ 库应用程序,我正在创建我的自定义类对象的向量。但是当我尝试返回我的自定义类 obj 向量时,我的 Cpp/CLI 控制台应用程序(与本机 C++ 交互)会引发内存冲突错误。

代码示例 -

在我的原生 C++ 类中 -

在我的 Cpp/CLI 类中

确切的错误信息

CLIConsole.exe 中发生了“System.AccessViolationException”类型的未处理异常——这是我的控制台 cpp/CLI 项目

附加信息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。

0 投票
3 回答
995 浏览

c# - C++ CLI 神秘的函数调用

所以我试图调用一个函数,它是一个围绕 OCX 对象的管理包装器。有很大的困难。功能是;

其中 'theBuffer' 是一个字节数组。'foo' 包装的非托管 OCX 的模板是

所以我试过了;

失败了。和

它可以编译,但显然被调用的函数不会为我创建 .NET 位图。

所以我想问题是我如何将这个函数传递给它可以写入的内存块,然后在.NET世界中访问它。

谢谢

0 投票
2 回答
1916 浏览

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) 您可能会争辩说无用的错误消息错误。

0 投票
1 回答
1433 浏览

c++-cli - 有没有办法使用 C++/CLI 管理的枚举作为数组下标?

我有一个枚举声明为

和一个声明为的数组

我想做这样的事情: