问题标签 [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.
c++ - 这里循环携带的依赖在哪里?
有没有人看到下面的循环代码有什么明显的东西,我没有看到为什么 VS2012 的 C++ 编译器不能自动矢量化它?
编译器给我的只是info C5002: loop not vectorized due to reason '1200'
当我使用/Qvec-report:2
命令行开关时。
原因 1200 在 MSDN 中记录为:
循环包含阻止矢量化的循环携带的数据依赖性。循环的不同迭代相互干扰,因此对循环进行矢量化会产生错误的答案,并且自动矢量化器无法向自己证明不存在这种数据依赖性。
我知道(或者我很确定)没有任何循环携带的数据依赖关系,但我不确定是什么阻止了编译器实现这一点。
这些source
和dest
指针永远不会重叠或别名相同的内存,我试图通过__restrict
.
pitch
总是一个正整数值,类似于4096
,取决于屏幕分辨率,因为这是一个 8bpp->32bpp 渲染/转换函数,逐列操作。
每个周围的括号source[]
都是函数调用的残余,我在这里省略了,因为没有函数调用,循环仍然不会以最简单的形式自动矢量化。
编辑:
我已将循环简化为最简单的形式:
这仍然会产生相同的 1200 原因代码。
编辑(2):
这个具有本地分配和相同指针类型的最小测试用例仍然无法自动矢量化。我只是在这一点上感到困惑。
c++ - 使用 mingw 构建 Qt 5.0
有一些方法可以使用 mingw64 或 Visual Studio 2012 构建 Qt 5.0,还是我要等待下一个版本?我已经尝试在以下链接中使用 mingw64 构建 qt 5.0 的说明:http://qt-project.org/wiki/MinGW-64-bit但似乎我不适合我......有人编译了 Qt 5.0 mingw64(或 Visual C++ 2012)?
c++ - 如何让 Visual Studio 2012 调用原生 64 位 Visual C++ 编译器而不是 32 位 x64 交叉编译器?
Visual Studio 2012 似乎总是调用cl.exe
位于%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\x86_amd64
) 的 32 位版本,而不是位于 的 64位版本%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\amd64
。
我尝试在属性表的VC++ 目录部分中添加$(VCInstallDir)bin\amd64
到“可执行目录”列表的开头,但这根本不起作用——重建时出现此错误:Microsoft.Cpp.x64.user
如何让 Visual Studio 2012 使用本机 64 位 C++ 编译器?
c++ - C4100 在模板中使用时“未引用的形式参数”
这看起来很简单,应该不是问题,但我没有看到它,所以任何帮助将不胜感激。
我有一个接受参数的函数,然后在模板中使用该参数。编译器(Visual C++ 2012)正在生成 C4100“未引用的形式参数”警告……这很烦人。我不明白为什么它认为该参数未被引用。
编译此生成:“警告 C4100:'工厂':未引用的形式参数”
我会认为“工厂”很明显被引用,因为它的“instance()”函数在宏扩展后被调用了两次。我在这里假设代码扩展为:
代码运行良好,它只是抛出一个我不明白的警告。请注意,在我的实际代码中,宏和函数位于不同的项目和不同的文件中,但为了简单起见,它们一起包含在此处。
c++ - std::thread 构造函数中的可移动参数 (Visual C++ 2012)
我在 MSVC 2012 中遇到了右值引用的问题。
编译器说:错误 C2664: 'void (std::promise<_Ty> &&)' : 无法将参数 1 从 'std::promise<_Ty>' 转换为 'std::promise<_Ty> &&'
是否有我的错误(然后如何解决它)或编译器问题(然后我想知道这种行为的起源)?
visual-studio-2012 - Visual Studio 2012 中缺少 Visual C++ 的先决条件
我最近安装vs2012
并更新了 ClickOnce 应用程序。更准确地说,我第一次打开我的C++ project
(取决于我的主要 c# 项目)我没有更新它并且一切正常。VS 2012
仍然能够看到 Visual C++ 2010 先决条件。稍后,我通过将平台工具集更改为"Visual Studio 2012 (v110)"
以下来更新我的项目Properties->Configuration Properties->General
。
与此同时,我什至安装了其他的software
,现在我发现我不再能够将 Visual C++ 先决条件添加到我的项目中以进行 ClickOnce 发布。先决条件用一个黄色三角形标记,Visual C++ 2010 Runtime Libraries (x64)
它是缺失的。理想情况下,我想更新到Visual C++ 2012 Runtime Libraries x64 (and x86)
,但即使是这个先决条件也缺失了。
我想这是由于文件夹C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages
中相应的包(vcredist_x64)
是空的。我还注意到,在我拥有Microsoft Visual C++ 2010 x64
并x86
安装的控制面板中的已安装程序列表中,可再发行版本和运行时版本(我认为它们以前是使用 Visual Studio 2010 安装的),而我缺少 Visual C++ 2012文件。因此,我认为 Visual C++ 2012 并没有与 Visual Studio 2012 结合在一起,不是吗?我什至尝试通过下载它们来安装Visual C++ 2012 Redistributable x64包,现在它们列在我安装的程序中 8(只有 Redistributable,而不是运行时版本)。
然而,先决条件仍然缺失。我该如何解决这个问题?我什至考虑过手动复制位于...\v7.0A\Bootstrapper\Packages
文件夹中的 Visual C++ 2010 的引导程序包,并为 C++ 2012 手动更改它,但我不知道应该product.xml
在<MsiProductCheck Property="VCRedistInstalled" Product=?>
. 似乎可以使用 Bootstrapper Manager 获得插入此信息的产品 GUID,但是该程序抛出了很多异常,我不知道该怎么做。作为第二种解决方案,简单地从以下位置复制 Visual C++ 2010 的包是否安全\\v7.0A\Bootstrapper\Packages\Bootstrapper\Packages to \v8.0A\Bootstrapper\Packages
?
visual-studio - 这是 VC++ 优化器或我的代码中的错误吗?
使用 VS2012 Update 1 生成的控制台项目尝试了以下向量减法代码。除了禁用全局优化和启用汇编程序列表之外,我并没有真正触及默认选项。
在 Windows 7 x64 SP1 上使用 x64 版本配置编译。
在发布模式下生成的程序集:
因此 vals 被错误地视为与输入相同,结果将始终为 0。有趣的是 xmm0 由于错误的优化而不再使用,但仍未被丢弃。如果您取消注释 printf 生成的代码是正确的。
所以问题是,我的代码有什么问题吗?对我来说,它看起来完全像是优化器中的一个错误。
c++ - VS 2012 (Visual C): 错误 C2143: 语法错误: 错过 ";" 前 ”*”
我在“iterator_of_array_int.h”有这个错误:
“array_of_int.h”
我包括“array_of_int.h”。怎么了???
mfc - MFC 不使用 LineTo 绘制矩形边
使用 MFC CDC 类以及 LineTo 和 MoveTo 函数绘图时出现问题。CDC 对象不是从我移动指针的点开始,而是将第一个 Pixel blanc 留在图像中心。当我在图像左侧的角周围绘制时,很明显 CDC 对象将最外面的像素留空。我确实尝试加载自定义画笔,但没有不同的结果。
windows-phone-8 - Visual C++中的字节数组参数
我是 Visual c++ 的新手。我在 .h 文件中有一个方法,如下所示:
在这里,我需要将字节数组作为参数传递,并且我需要在 .cpp 文件中实现它。我正在使用 Windows Phone 8,为此我需要包含 Windows Phone 运行时组件的 Visual C++ 项目。我需要在 c# 类中使用此方法并从那里传递字节数组。但我不知道如何在 C++ 中声明一个字节数组方法。任何人都可以帮我找到解决方案。