首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pragma警告(禁用: 4700 )无法在2013中工作

pragma警告(禁用: 4700 )无法在2013中工作
EN

Stack Overflow用户
提问于 2016-03-28 12:50:06
回答 1查看 5.2K关注 0票数 9

在禁用SDL检查的发行版配置中编译以下代码:

代码语言:javascript
复制
#include <immintrin.h>

int main()
{
    const auto Set128Epi16 = []()
    {
#ifdef NDEBUG
#pragma warning( push )
#pragma warning( disable : 4700 )
            __m128i x = _mm_cmpeq_epi16( x,x );
            x = _mm_srli_epi16( x,15 );
            return _mm_slli_epi16( x,7 );
#pragma warning( pop )
#else
            __m128i x = _mm_setzero_si128();
            x = _mm_cmpeq_epi16( x,x );
            x = _mm_srli_epi16( x,15 );
            return _mm_slli_epi16( x,7 );
#endif
    };

    const auto xmm = Set128Epi16();

    return *xmm.m128i_i32;
}

给出以下输出:

代码语言:javascript
复制
1>------ Rebuild All started: Project: pragmatic, Configuration: Release Win32 ------
1>  main.cpp
1>  Generating code
1>e:\projects\pragmatic\pragmatic\main.cpp(10): warning C4700: uninitialized local variable 'x' used
1>e:\projects\pragmatic\pragmatic\main.cpp(10): warning C4700: uninitialized local variable 'x' used
1>e:\projects\pragmatic\pragmatic\main.cpp(10): warning C4700: uninitialized local variable 'x' used
1>e:\projects\pragmatic\pragmatic\main.cpp(10): warning C4700: uninitialized local variable 'x' used
1>e:\projects\pragmatic\pragmatic\main.cpp(10): warning C4700: uninitialized local variable 'x' used
1>  Finished generating code
1>  pragmatic.vcxproj -> E:\Projects\pragmatic\Release\pragmatic.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

为什么在这种情况下编译器会忽略我的#杂注。我过去曾成功地使用这种方法来抑制相同的警告代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-28 13:20:53

我从https://msdn.microsoft.com/en-us/library/2c8f766e.aspx复制了这个

对于与代码生成相关的4700-4999范围内的警告数字,当编译器遇到函数的开式大括号时,警告的状态将对函数的其余部分生效。使用函数中的警告杂注来更改数字大于4699的警告的状态,只有在函数结束后才会生效。下面的示例演示如何正确放置警告杂注,以禁用代码生成警告消息,然后恢复该消息。

因此,您可能需要在main开始之前,或者在lambda开始工作之前,将该实用化,但我不确定。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36262702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档