programing

Visual Studio 2010에서 병렬 빌드를 수행하려면 어떻게해야합니까?

coolbiz 2021. 1. 15. 08:31
반응형

Visual Studio 2010에서 병렬 빌드를 수행하려면 어떻게해야합니까?


VS 2010에서 한 번에 둘 이상의 C ++ 컴파일 프로세스를 실행하려면 어떻게해야합니까? 객체 모듈을 병렬로 구축하는 것을 의미합니다. 한 번에 두 개 이상의 프로젝트를 빌드하는 데 관심이 없습니다 (도구> 옵션> 빌드 및 실행 <최대 병렬 프로젝트 빌드 수에 대해 알고 있지만 원하는 작업을 수행하지 않습니다).

기본적으로 Visual Studio의 "make -jN"에 해당하는 것을 찾고 있습니다.


  1. 도구-> 옵션
  2. 프로젝트 및 솔루션 \ VC ++ 프로젝트 설정
  3. 최대 동시 C ++ 컴파일

또한 Ross Smith가 주석에서 말했듯이 프로젝트에서 "다중 프로세서 컴파일"옵션도 켜야합니다.

  1. 프로젝트 속성
  2. 구성 속성> C / C ++> 일반
  3. 다중 프로세서 컴파일
  4. 이익!

멀티 스레딩을 사용하여 VS 빌드를 만들기 위해 설정해야하는 두 개의 스위치가 있습니다 (둘 다 프로젝트에 따라 다름).

  • 프로젝트 속성-> C / C ++-> 일반-> 다중 프로세서 컴파일 설정 : 예 (/ MP)
  • 프로젝트 속성-> C / C ++-> 코드 생성-> 최소 다시 빌드 사용 설정 : 아니요 (/ Gm-)

도구-> 옵션-> 프로젝트 및 솔루션-> VC ++ 프로젝트 설정-> 최대 동시 C ++ 컴파일 설정도 확인하십시오. 기본값은 0이며 VS가 가능한 한 많은 동시 컴파일을 사용할 수 있도록합니다.


Necrolis의 의견은 올바른 해결책으로 보입니다.

/ MP (다중 프로세스로 빌드)

/ MP 옵션을 사용하면 컴파일러가 각각 별도의 프로세스에서 하나 이상의 복사본을 만듭니다. 이러한 복사본은 동시에 소스 파일을 컴파일합니다. 결과적으로 소스 파일을 빌드하는 데 걸리는 총 시간을 크게 줄일 수 있습니다.

프로젝트 수준 (따라서 모든 파일에 적용됨)과 개별 파일에 설정할 수 있습니다 #import. 예를 들어 .

특히, / MP는 일반적으로 미리 컴파일 된 헤더 또는 #import; 이 경우에도 프로젝트에 / MP 플래그를 설정 한 다음 단일 파일 (일반적으로 stdafx.cpp 및 #import를 사용하는 모든 파일)에서이를 지울 수 있습니다.


내가 한 일은 다음과 같습니다.

1) "프로젝트 및 솔루션"-> "빌드 및 실행"보다 도구-> 옵션으로 이동하여 코어 수가 있습니다. 처음에는 이것이 내가해야 할 전부라고 생각했지만

2) 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오. "구성 속성"-> "C / C ++"-> "명령 줄" /MP4에서 4는 보유한 코어 수입니다. 플래그가 호환되지 않는다는 경고가 표시되므로 다른 단계가 있습니다.

3) "구성 속성"-> "C / C ++"-> "코드 생성"아래에 "최소 재 빌드 활성화"가 있습니다. 아니오로 변경하십시오.

다시 빌드하면 작업 관리자에 여러 CL 프로세스가 표시됩니다.


jom은 당신이 찾고있는 도구입니다.

위키에서 : http://qt-project.org/wiki/jom

jom은 여러 독립 명령의 병렬 실행을 지원하는 nmake의 복제본입니다. 기본적으로 GNU make와 유사한 -j 명령 줄 스위치를 추가합니다.

대부분의 문서는 Windows에서 Qt 라이브러리 빌드 속도를 높이려는 Qt 개발자를 대상으로하지만, nmake 호환 메이크 파일이있는 한 jom은 비 Qt 프로젝트에서도 완벽하게 작동합니다.

위키 페이지에는 다운로드 할 수있는 바이너리가 있으며 nmake처럼 jom을 호출합니다.


내가 참조! 귀하의 요구 사항은 병렬 스레드에서 단일 프로젝트를 빌드하는 것입니다.

나는 찾을 상어 컴파일러 제어가 매우 유용 플러그인

참조 URL : https://stackoverflow.com/questions/6172205/how-can-i-do-a-parallel-build-in-visual-studio-2010

반응형