问题标签 [visual-c++-2012]

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 投票
1 回答
547 浏览

c - 从 C++/CLI 到 C 的字节数组

我在 Visual c++ 中有一个函数,如下所示:

用于传递字节数组。在这个方法中,我需要访问一个接受字节数组参数(inputBytes)的 C 类方法。我在 C 类中放置了这样的方法

但它会抛出一个错误。c中字节数组的语法是什么?如何将此字节数组从 c++ 传递给 c。谁能帮我找到解决方案。

0 投票
1 回答
1234 浏览

visual-studio - 如何将 Windows 8 SDK 与 Visual Studio 2012 集成

根据文档:http: //msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx

通过删除命令行构建环境,Windows SDK 不再提供以下组件:

Windows SDK 平台工具集

Visual C++ 编译器和 C 运行时 (CRT)

Windows SDK 配置工具

如果删除了 Windows SDK 配置工具,是否有更新路径的简单方法?我意识到我可以手动更新 Microsoft.Cpp.Win32.user.props(和其他属性页面),但我希望有一种比四处寻找所有东西更简单的方法。也许我错过了一些明显的东西。

0 投票
7 回答
75325 浏览

c++ - 否定一个数字的最快方法

我今天早上在这里想,将多个正面反转为负面以及从负面反转为正面的最快方法是什么,当然,最简单的方法可能是:

或者

但后来,我想,我会这样做,使用命令移位和指针......这真的有可能改变一个值的符号,使用命令移位运算符和内存?

0 投票
1 回答
300 浏览

visual-c++ - 如何将数据加载到 MFC 应用程序向导生成的属性数据库类中?

使用 Visual C++ 2012 中的 MFCApplication 向导,如果选中“生成属性数据库类”,则会生成具有一些特殊语法(属性 C++ 类)的标头,如下所示:

上面的头文件对应一个大部分为空的实现文件:

那是整个实现类。请注意:

A. 没有在任何地方指定父类名称。B. 这里有一些“Visual C++ 魔法”,也就是说,作为现代 C++ 的新手,我迷路了。 db_source记录在这里,但文档很薄,或者至少对我来说是不透明的。

问题:

  1. 当我第一次看到它时,我被这个语法迷住了,但我发现它可能是Visual C++中这个属性特性的一个变体。就是这样,对吧?

  2. 我打算如何使用这些生成的“属性数据库类”对象?我找到了这个文档,但是如果您仔细查看该文档,该代码示例向人们展示了旧方式和新方式,并没有告诉我我想知道什么是如何使用 IDE 无法使用的这个新对象给我任何文档或代码完成功能。此外,由于生成的代码CMFCApplication2Set向导生成的类没有引用任何类型或类名,我迷路了。如果我什至可以使用一些 IDE 功能来知道什么方法和东西被神奇地注入了这个神奇的神秘对象,我会更好。我能想到的唯一想法就是学习旧方法并从旧的两个分离的 ATL 类型世界中学习所有可以调用的东西,然后以某种方式学习将它们组合起来。

简而言之,我正在寻找实际使用其中一个属性数据库类实例(变量)所需了解的最低语法,因为它们是由向导在新的 MFC 应用程序中生成的。下面显示的实例是 MFC 文档类的成员,CMFCApplication2Set m_MFCApplication2Set并被声明为 MFC 文档类中的字段。

我尝试过的是使用这个“无类型对象”。该对象似乎有很多数据字段 (m_X),并且只有一种方法显示在 IDE 代码完成中,称为GetRowSetProperties. 由于发生了任何魔法或注入,这个生成的属性数据库类(它不会明显继承任何东西)在编辑时和编译时对我来说完全是一个谜。

这是我只是试图检查这个东西,看看它是否在它的构造函数运行时初始化了自己:

在编译时和编辑时,IDE 没有给我任何关于这个“匿名”类所涉及的类型的帮助,该类从无到有继承,但是由于我猜测的那些属性的某种注入,它获得了很多秘密权力。在调试时,我可以看到这个 C++ 类中不仅仅是一堆数据字段,但这仍然不能帮助我知道如何使用它。使用其中一个从数据库中获取记录集的最小代码示例会很棒。

在此处输入图像描述

更新:调用OpenDataSource很有趣,因为它可以编译,但 IDE 认为它不应该是有效的。尽管如此,它运行,并返回 0 作为结果,但这实际上并没有初始化这个CThingyThatVisualStudioGaveYouThatYouDontKnowWhatItIs

在此处输入图像描述

0 投票
1 回答
1357 浏览

visual-c++ - 在 C .Net 中释放分配给位图的内存

我用谷歌搜索了如何释放分配给 System::Drawing::Bitmap 的内存,我发现我应该调用 dispose 函数但我得到了这个错误:

错误 C2039:“Dispose”:不是“System::Drawing::Bitmap”的成员您应该调用析构函数“~Bitmap”

我不能释放它。

0 投票
3 回答
2002 浏览

c++ - 性能 - 使用迭代器或指针迭代向量?

我目前正在编写一个需要尽可能好地执行的应用程序。我使用 VS2012 作为我的 IDE(和编译器)。

我注意到,当我对向量进行迭代时,与迭代器相比,指针解决方案在速度方面要快得多。这是为什么?我的意思是,迭代器基本上是一样的。至少应该是这样。

看看这个例子:

编译器是否需要任何优化?我正在使用所有标准设置,所以 -O2 已经启用。提前致谢。

编辑: 我在 Release 中编译,并使用 Ctrl+F5 运行(即没有调试)。

EDIT2: 实际的源代码是快速排序的实现。这是完整源代码的链接,非常短,请查看。

0 投票
3 回答
377 浏览

c++ - 定义的常量在视觉工作室中表现得很奇怪

我正在使用 Visual Studio 2012 Professional 制作我的第一个 windows/directx 程序。在我的程序的顶部,我有这个:

在我决定使用常量之前,它工作得非常好:

但是当我改变这一行时:

它给了我大约三十个不同的错误。我很确定只有前几个是相关的,其余的是因为这些代码行没有正常工作..

如果我正确理解定义的常量,预处理器会在任何编译完成之前简单地将它们换成它们的值,所以这非常令人困惑。

0 投票
2 回答
1860 浏览

visual-studio - 在没有安装 VS 2012 的情况下构建使用 Visual Studio 2012 创建的 C++/C#?

如果我有一个 VS2012 的 Visual Studio 解决方案文件,其中包含几个 C++ 本机项目和几个 C# 项目,我可以在不安装Visual Studio 2012 本身的情况下构建此解决方案吗?

这将简化(除其他外)我们构建服务器节点的维护。

0 投票
1 回答
341 浏览

visual-c++ - 在 C++/CX 中,为什么未引用的 hat ^ 参数不生成警告?

我正在开发一个 Windows 应用商店应用程序,并且刚刚将 Visual Studio 的警告级别提高到 4,因此我一直在修复未引用的参数警告。在此过程中,我注意到未引用的框架管理参数 (^) 不会像其他未引用的“正式”参数一样生成 C4100 警告。为了说明我的意思:

为什么第二个不产生警告?有没有办法打开这样的警告?我希望我的代码看起来一致,但手动跟踪所有这些需要几天时间。

注意:我在没有 CLR 支持的情况下编译我的项目,但似乎这些仍然可以检测到。

0 投票
1 回答
2330 浏览

sdl - How do disable SDL for new projects in Visual C++ 2012?

I’m using Visual C++ for homework projects, where input checking isn’t needed, so I must disable SDL every time in project properties to be able to use scanf. Is there a way to change this default setting?