为什么 /Qvec-report:2 什么也不返回? (MSVC 2012)

2024-03-10

我尝试了 /Qvec-report:2 选项来查看 MSVC 自动矢量化器是否有任何用处。不幸的是,我没有得到任何结果,无论是积极的还是消极的:

>  Microsoft (R) C/C++ Optimizing Compiler Version 17.00.60610.1 for x86
1>  Copyright (C) Microsoft Corporation.  All rights reserved.
1>  
1>  cl /c /Zi /nologo- /W3 /WX- /O2 /Ob2 /Oi /Oy /GL /D WIN32 /D _SCL_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_WARNINGS /D NDEBUG /D _LIB /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /arch:SSE2 /fp:fast /Zc:wchar_t /Zc:forScope /Yu"stdafx.h" /Fp"Release\(redacted).pch" /Fo"Release\\" /Fd"Release\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt  /Qvec-report:2 (redacted).cpp
1>cl : Command line warning D9035: option 'nologo-' has been deprecated and will be removed in a future release
1>  
1>  (redacted).cpp
1>
1>Build succeeded.

我期待类似的消息

--- Analyzing function: main 
c:\source.cpp(4) : loop vectorized 
c:\source.cpp(5) : loop not vectorized due to reason '1200'

原因原来是/GL选项。通过链接时代码生成,编译步骤变成只是解析步骤,并且不包括任何矢量化。由于完全缺少该步骤,因此在编译时不会生成任何报告(正面或负面)。

链接器现在可以发出矢量化步骤。即使 LTCG 目标文件放置在库中,也会发生这种情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 /Qvec-report:2 什么也不返回? (MSVC 2012) 的相关文章

  • 如何重定向 Visual Studio 调试器的输出?

    在 Visual Studio 2008 中 我可以指定命中断点时要打印的消息 通过右键单击断点并选择 命中时 当程序运行时 这些消息出现在输出窗口中 我想知道有什么办法可以将它们重定向到文件吗 指定 gt file txt作为程序的命令参
  • 我如何使其解密而不是加密?

    想知道如何从加密代码中获取此代码并使用相同的代码来创建解密 我知道这意味着我必须反转一些指令并重新排序 但我无法弄清楚哪些指令需要重新排序 哪些不需要 编辑 这是完整的函数 可以让事情变得更清晰一些 对堆栈溢出非常陌生 因此对于任何混淆表示
  • 从非常大的未排序列表中获取最大 X 数字的最快方法?

    我试图从我的程序生成的分数列表中获取最高的分数 例如 100 分 不幸的是 该列表很大 大约数百万到数十亿 因此排序是程序中一个耗时的部分 排序以获得前 100 名分数的最佳方法是什么 到目前为止我能想到的唯一两种方法是要么首先将所有分数生
  • 如何应用结构偏移?

    我有一个结构 typedef struct foo int lengthOfArray1 int lengthOfArray2 int array1 int array2 foo 我需要为整个结构及其数组的内容分配足够的内存 所以假设每个数
  • #pragma pack、模板类型定义和结构对齐

    使用 Visual Studio 或 gcc 如果有的话 pragma pack push 16 typedef std map
  • 为什么没有定义 PCTSTR 而定义了 LPCTSTR?

    我被指派更新用 MSVC 6 编写的旧代码 我得到了 PCTSTR 的未知定义 但即使我包含了 tchar h 它也没有定义 根据我以前的经验 我知道有 LPTSTR 但没有 PCTSTR 我 grep C Program Files Mi
  • Microsoft 的 STL::list::sort() 使用哪种排序算法?

    注 我不小心发帖了这个问题 https stackoverflow com questions 1717773 which sorting algorithm is used by stls listsort没有指定我正在使用哪个STL实现
  • 将 std::vector 转换为 .NET List 的最有效方法是什么?

    将 std vector 转换为 NET 列表的最有效方法是什么 为了提供一些背景信息 我使用 C CLI 包装了一个非托管 C 类 C CLI 类保存一个指向 C 类的指针 并且我为每个公共方法都有一个包装器 一种方法返回 std vec
  • 为什么带有自定义删除器的 unique_ptr 不适用于 nullptr,而 shared_ptr 却可以?

    使用简单的代码unique ptr or shared ptr作为瞄准镜守卫 有关要清除的内容的所有信息都记录在deleter 所以我认为使用是安全的nullptr对于构造函数 显然 对于 Visual C 2017 14 1 它无法按预期
  • 链接的 ostream 内部行为及其在 MSVC 上的结果(与 Clang 相比)

    MSVC 与 GCC Clang 的流 内部字符串和操作排序问题 大家好 我最近刚刚开始更认真地使用 MSVC 来完成我的一个跨平台项目 同时通过以下方式测试输出chainedSTD 流 IE 一系列的obj foo lt lt endl
  • 编译器不应该对派生类中隐藏的基结构的成员变量发出警告吗?

    我不小心用基结构派生的类中的私有成员隐藏了 基 结构的一些成员变量 结构基 int a 派生类 公共基类 私人的 int a 在我的例子中 这是一个错误 导致了一个偷偷摸摸的错误 幸运的是在测试时发现了 因为我认为故意隐藏成员确实很少见 如
  • 如何在 Microsoft Visual Studio 2017 中检查 C++ 版本

    我正在尝试使用以下代码检查我拥有的 C 版本 if cplusplus 201703L std cout lt lt C 17 n else if cplusplus 201402L std cout lt lt C 14 n else i
  • 如何检测Windows 8.1开始菜单?

    当我们在 Windows 8 1 上按下开始菜单时 它会以磁贴的形式显示所有新的开始菜单以及应用程序 该菜单显示在整个屏幕上 有没有办法检测这个菜单是否在 C 中打开 8 1 SDK 中是否有 winAPI 可以执行此操作 提前致谢 调用
  • 我可以在 C++ 结构上实现 .ToString() 以进行调试吗?

    在 C 中 如果我定义了一个结构体 我还可以重写 ToString 然后 当我进行调试并添加监视或将鼠标悬停在结构的实例上时 工具提示将是计算出的 ToString 而不是结构的类型名称 我可以在 C 和 或 C CLI 中以某种方式做到这
  • 奇怪的 MSC 8.0 错误:“ESP 的值未在函数调用中正确保存...”

    我们最近尝试将一些 Visual Studio 项目分解为库 并且在测试项目中一切似乎都编译和构建得很好 其中一个库项目作为依赖项 然而 尝试运行该应用程序给我们带来了以下令人讨厌的运行时错误消息 运行时检查失败 0 ESP 的值未在函数调
  • 如何从 dll 导出 C++ 类? [复制]

    这个问题在这里已经有答案了 我有一个有两个重载函数的类 如何从 dll 导出它以及如何由其他 C 类使用它 我的班级是这样的 define DECLDIREXP declspec dllexport define DECLDIRIMP de
  • Win32:将窗口置于顶部

    我有一个 Windows 程序 其中有两个 2 窗口 hwnd main interface hwnd2 toplevel window no parent created by hwnd 当我双击 hwnd 时 我需要弹出 hwnd2 并
  • 禁用显示控制台窗口

    我可以在哪里禁用 Microsoft Visual C 显示控制台窗口 在您的控制台应用程序中 转到 Properties gt Linker gt System change SubSystem to Windows 并在你的代码中 代替
  • 是否可以在 VC++/CLI 中重写 IEnumerable?

    我有一个返回一个的接口IEnumerable 我想在 VC CLI 中实现这个 因为数据来自第三方非托管 DLL 到目前为止我有 public ref class MyEnumerable IEnumerable
  • 如何在 C++ 中将 CString 转换为 double?

    我如何转换CString to a double在 C 中 Unicode 支持也很好 Thanks A CString可以转换为LPCTSTR 这基本上是一个const char const wchar t 在 Unicode 版本中 知

随机推荐