2011-02-24 2 views
1

우리는 C++ 코드의 성능을 향상시키기 위해 인텔 C++ 컴파일러를 사용하고 있습니다. 이를 사용하려면 비주얼 스튜디오 프로젝트를 IDE를 통해 인텔 프로젝트로 변환해야합니다. 인텔 컴파일러는 어디 에나 설치되지 않으므로 인텔 빌드를 생성해야하는 컴퓨터에서만이 단계를 수행합니다.Visual C++ 컴파일러를 사용하는 Visual Studio 프로젝트 변환을 자동화하는 방법.

일부 스크립트를 통해이 변환 프로세스를 자동화하는 방법을 탐색하고자했습니다. EnvDTE API를 사용하여 동일한 작업을 수행 할 수 있는지 궁금합니다.

sol.Clean 
sol.Build 

그들은 잘 실행 :이 시점에서

Dim objDTE 
' Creates an instance of the Visual Studio 
Set objDTE = CreateObject("VisualStudio.DTE") 

' Make it visible 
objDTE.MainWindow.Visible = True 

' Open a .sln file 
objDTE.Solution.Open("Path to solution file") 

Dim sol  
Set sol = objDTE.Solution.SolutionBuild 

우리는 다음과 같이 함수를 호출 할 수 있습니다 :

지금까지 우리는 VBScript로 다음까지 도달 할 수 있었다.

이 외에도 솔루션에 적용될 수있는 다른 명령을 식별하는 방법을 찾을 수 없었습니다. 예를 들어, Intel C++ Compiler는 Visual Studio에 플러그인으로 통합됩니다. 우리는 솔루션 오브젝트에 사용할 수있는 명령 목록을 식별 한 다음 적절한 명령을 실행하여 Visual Studio 프로젝트를 변환하여 인텔 컴파일러를 사용할 수 있는지 궁금합니다.

이 변환을 자동화 할 수 있습니까?

미리 감사드립니다.

답변

0

비틀 거리는 사람들의 이익을 위해 DTE.ExecuteCommand를 사용하여 확장 프로그램에 의해 노출 된 명령을 포함하여 임의의 명령을 실행할 수 있습니다. 사용 가능한 모든 명령의 목록을 인쇄하려면이 VBScript를 실행할 수 있습니다 :

/// Intel convertion 
Project proj; 
proj = DTE.Solution.Projects.Item(1) // Should be vc++ one 

ProjectConversions pconv = (ProjectConversions)EnvDTE.GetObject("PrjConvert"); 
pconv.EnableUsingIntelCppCompiler(prj1.Name); 

당신은 단지에서 .NET 참조 IntelCppOptPkg.dll를 추가해야 다음과 같이 DTE를 통해

Set DTE = CreateObject("VisualStudio.DTE.10.0") ' adjust version as needed 
For Each cmd In DTE.Commands 
    WScript.Echo cmd.Name 
Next 
0

COM 자동화 보인다/Common7 \ IDE \ PublicAssemblies

또한 "\ Common Files \ Intel \ 공유 파일 \ ia32 \ Bin \ ICProjConvert.exe"에있는 변환 도구가 있습니다. 키 /와 함께 사용할 수있는 도구에 대한 도움말 정보? 또는 URL

MSDN automation documentation

거의 모든 것을 찾을 수 있습니다.
관련 문제