영어프랑스어스페인어

Ad


온웍스 파비콘

makepp_sandboxes - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 makepp_sandboxes를 실행하세요.

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 makepp_sandboxes 명령입니다.

프로그램:

이름


makepp_sandboxes -- makepp 빌드를 분할하는 방법

기술


D: --빌드,
--빌드하지 마세요,
--읽지 마세요,
--읽기, I: --샌드박스 내,
--내부-샌드박스, O: --샌드박스 외부, S: --모래 상자,
--sandbox-경고,
--샌드박스 경고, V: --가상 샌드박스

makepp에 대한 파일 트리를 분할하려는 몇 가지 이유가 있습니다.
짓다:

1. 트리의 대부분이 변경 사항에 의해 영향을 받지 않는다는 것을 알고 있는 경우
이전 빌드 이후의 소스 파일이 있는 경우 makepp에게 해당 파일을 가정하도록 지시할 수 있습니다.
트리의 해당 부분은 이미 최신 상태입니다. 이는 암시적으로도 업데이트되지 않음을 의미합니다.
종속성을 계산하고 확인하는 것은 물론 makefile을 로드합니다. (메모
그러나 명시적으로 로드된 makefile은 여전히 ​​로드됩니다.)

2. 동일한 트리에 액세스하는 여러 makepp 프로세스가 있는 경우
두 개의 동시 프로세스가 동일한 부분을 쓰고 있음을 감지하면 오류가 발생합니다.
트리 또는 하나의 프로세스가 동시 프로세스가 트리의 일부를 읽고 있음
글쓰기. 어느 쪽이든, 이벤트의 상대적 순서가 바뀌는 경쟁 조건이 있습니다.
두 개의 동시 프로세스에서(보장할 수 없음) 결과에 영향을 미칠 수 있습니다.

Makepp에는 두 가지 문제를 모두 해결하는 샌드박싱 시설이 있습니다.

샌드 박싱 옵션
다음 makepp 옵션을 사용하여 하위 트리의 샌드박싱 속성을 설정할 수 있습니다.
주어진 통로 모든 파일과 잠재적인 파일:

--빌드하지 마세요 통로
--do-build 통로
"dont-build" 속성을 설정하거나 재설정합니다. 이 속성이 설정된 모든 파일은
이미 최신 상태여야 하며 빌드 확인이 수행되지 않습니다. 기본값은 재설정입니다.
(예: "do-build"). 단, "RootMakeppfile"이 있는 경우는 제외됩니다. 이 경우 모든 것이
하위 트리 ID "dont-build" 외부에 있습니다.

--모래 상자 통로
--샌드박스 내 통로
--인사이드-샌드박스 통로
--샌드박스 외부 통로
"샌드박스 내" 속성을 설정하거나 재설정합니다. makepp가 그렇지 않으면 오류가 발생합니다.
이 속성이 재설정된 파일을 작성합니다. 빌드 검사는 계속 수행됩니다.
"dont-build" 속성도 설정되었습니다. 그렇지 않은 경우 기본값은 설정됩니다(예: "샌드박스 내").
있다 --모래 상자 옵션. 이 경우 다른 모든 파일의 기본값은 다음과 같습니다.
재설정(즉, "샌드박스 외부").

--샌드박스 경고
--sandbox-경고
"샌드박스 내" 및 "읽지 않음" 위반을 오류 대신 경고로 다운그레이드합니다.
이는 위반 사항이 수백 건일 때 유용하므로 위반 사항을 모두 수집할 수 있습니다.
한 번에 실행하고 적절한 시정 조치를 취하십시오. 그렇지 않으면, 당신은 단지 볼 수 있습니다
makepp 호출당 하나의 위반이 발생하며, 그 때까지 남은 위반 수는 알 수 없습니다.
모두 고쳐졌어.

--읽지 마세요 통로
--읽어보세요 통로
"읽지 않음" 속성을 설정하거나 재설정합니다. makepp가 그렇지 않으면 오류가 발생합니다.
이 속성이 설정된 파일을 읽습니다. 기본값은 재설정(예: "읽기")입니다.

--가상 샌드박스
이 makepp 프로세스에서 생성되지 않은 파일의 빌드 정보를 다시 작성하지 마세요. 이것
샌드박스가 겹치는 동시 makepp 프로세스를 실행할 때 유용합니다.
두 프로세스가 동일한 대상을 구축하려고 시도하지 않을 것이라고 확신합니다. Makepp은
그런 다음 읽는 파일에 대한 추가 정보를 캐싱하지 마세요.
다른 동시 독자가 있을 수 있습니다.

이러한 세 가지 속성은 각각 그렇지 않은 파일을 포함하여 전체 하위 트리에 적용됩니다.
아직 존재합니다. 보다 구체적인 경로는 덜 구체적인 경로보다 우선 적용됩니다. 지정된 경로는
파일이 아직 존재하지 않더라도 개별 파일입니다.

속성이 정확히 동일한 경로에서 설정되고 재설정되는 경우 나타나는 옵션은 다음과 같습니다.
명령줄에서 가장 오른쪽에 있는 항목이 우선합니다.

샌드 박싱 for 가속
makepp가 이미 알고 있는 파일을 처리하는 데 시간을 낭비하지 않도록 하려면
최신 버전(특히 makepp 이외의 빌드 도구로 생성된 파일)
그때 --빌드하지 마세요 당신을 위한 옵션입니다.

이러한 최적화의 가장 일반적인 경우는 모든 것이 그렇지 않다는 것을 알고 있다는 것입니다.
시작 디렉터리 또는 그 아래는 이미 최신 상태입니다. 이는 다음으로 전달될 수 있습니다.
"를 사용하는 makepp--빌드하지 마세요 /. --do-build .".

샌드 박싱 for 병발 사정 프로세스
빌드 지연 시간을 줄일 수 있는 한 가지 기술은 여러 makepp 프로세스가 작동하도록 하는 것입니다.
같은 나무에. 이것은 사용하는 것보다 관리하기가 훨씬 더 어렵습니다. -j 선택권,
그러나 다음과 같은 이유로 훨씬 더 효과적일 수도 있습니다.

· 샌드박싱을 사용하면 작업 등을 통해 프로세스가 여러 호스트에서 실행될 수 있습니다.
큐잉 시스템. 증가 -j 한도는 결국 CPU 리소스를 소진시킵니다.
단일 호스트이며 과도한 프로세스 분기로 인해 빌드 속도가 느려질 수도 있습니다.

· -j 현재 로딩과 같이 시간이 많이 소요되는 makepp의 일부 작업을 병렬화하지 않습니다.
makefile, 스캔, 스캔 중 암시적 종속성 구축 및 확인
종속성.

이 접근 방식의 가장 큰 위험은 다음과 같은 경우 빌드가 비결정적이 될 수 있다는 것입니다.
동시에 실행될 수 있는 프로세스는 서로 상호 작용합니다. 이는 시스템 구축으로 이어진다.
산발적으로 잘못된 결과를 생성하며 그 이유를 판단할 수 있는 간단한 메커니즘이 없습니다.
일어난다.

이러한 위험을 해결하려면 동시 프로세스 간에 트리를 분할하는 것이 좋습니다.
따라서 프로세스가 파일 시스템에 부적절하게 액세스하면 오류가 발생합니다.
즉시 결정론적으로 제기됩니다. 일반적으로 이는 각 항목에 할당하여 수행됩니다.
동시 프로세스는 쓰기가 허용되는 "샌드박스"입니다.
두 개의 동시 프로세스가 겹칠 수 있습니다.

또한 각 프로세스는 동시에 가능한 다른 프로세스의 샌드박스를 표시합니다.
"읽지 마세요." 다른 동시 프로세스가 담당하는 파일을 한 프로세스가 읽는 경우
쓰기(따라서 아직 작성되지 않았을 수 있음)의 경우 오류가 발생합니다.
바로.

샌드 박싱 for 순차 프로세스
동시 makepp 프로세스를 위해 빌드가 분할되면 일반적으로
다양한 프로세스 쌍 간의 순차적 관계. 예를 들어, 다음이 있을 수 있습니다.
XNUMX개의 동시 컴파일 프로세스와 시작할 수 없는 단일 링크 프로세스가 뒤따릅니다.
모든 컴파일 프로세스가 완료될 때까지. 이러한 순차적 관계는 다음과 같아야 합니다.
다양한 makepp 프로세스를 조정하는 메커니즘에 따라 시행됩니다(예:
작업 대기열 시스템).

프로세스에 알려진 순차적 관계가 있는 경우 일반적으로
그럼에도 불구하고 결과는 다음과 같기 때문에 트리의 동일한 부분에 액세스하면 오류가 발생합니다.
결정론적.

그러나 일반적으로 다음을 지정하는 것이 좋습니다. --빌드하지 마세요 부양가족에 대한 옵션
이미 존재하는 영역을 알리는 프로세스(이 예에서는 링크 프로세스)
필수 프로세스(이 예에서는 컴파일 작업)에 의해 업데이트되었습니다. 이에
방식으로 우리는 단지 무효화 대상을 구축하는 불필요한 작업의 대부분을 피합니다.
업데이트되었습니다.

onworks.net 서비스를 사용하여 온라인으로 makepp_sandboxes 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad