2013-10-15 3 views
3

/Qvec-report : 2 옵션을 사용하여 MSVC 자동 벡터 화기가 사용되는지 확인했습니다. 불행하게도, 나는 긍정적이나 부정적인 어떤 결과를 얻을하지 않았다 :왜/Qvec-report : 2는 아무 것도 반환하지 않습니까? (MSVC 2012)

> 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. 

을 나는 원인이 /GL 옵션으로 밝혀졌다

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

잘 모르겠지만 -/QVec 및/QPar 둘 다 잘 작동합니다. 이 릴리스 빌드 올바른지 확인합니다. 빌드했거나 다시 작성 했습니까? –

+0

빌드, 다시 작성, x64로 전환 - 도도로 죽었습니다. – MSalters

+0

글쎄, 기본적으로 벡터화해야하지만 관련성이있는 경우에는 (내 프로젝트에 두 가지 모두 있음)/QPar를 추가해보십시오. –

답변

5

과 유사한 메시지를 기대했다. 링크 타임 코드 생성을 사용하면 컴파일 단계는 구문 분석 단계가되며 벡터화는 포함되지 않습니다. 해당 단계가 완전히 누락 되었기 때문에 컴파일 타임에 보고서가 생성되지 않습니다 (양수 또는 음수).

이제 링커에서 벡터화 단계를 대신 수행 할 수 있습니다. 이것은 LTCG 오브젝트 파일이 라이브러리에 배치 된 경우에도 발생합니다.

관련 문제