2011-01-14 2 views

답변

6

기본 클라이언트 documentation은 모든 작동 방식을 파악하기위한 좋은 출발점 일 수 있습니다.

Mark Seaborn과 Bennet Yee가 말한 것처럼 sel_ldr을 사용하는 것이 가장 좋습니다. sel_ldr이 "The life of sel_ldr"에 포함되는 방법에 대한 자세한 내용.

저는 개인적으로 브라우저 외부에서 NaCl을 사용하는 것을 구현하지 않았기 때문에 불행히도 그렇게 쉽게 말할 수는 없습니다.

+0

여기에 제공된 링크의 대부분이 만료되었습니다. 브라우저 외부에서 원시 샌드 박스 처리 된 코드를 실행하는 데 관심이 있으며 NaCl이이를위한 완벽한 솔루션이 될 수 있습니다 (또는 아닐까요?). – deadalnix

+0

@deadalnix 현재 문서를 가리키는 답변을 업데이트했습니다. – garethm

9

예. Native Client의 독립 실행 형 빌드에는 웹 브라우저 외부에서 NaCl 샌드 박스를 실행하는 "sel_ldr"이라는 프로그램이 포함되어 있습니다. NaCl의 많은 테스트 스위트는 브라우저가 아닌 sel_ldr에서 프로그램을 실행하여 NaCl을 테스트합니다.

4

Mark의 대답에 추가하려면 sel_universal 대상을 살펴보십시오. 이러한 독립형 실행에는 브라우저가 포함되어 있지 않으므로 Pepper 인터페이스와 같이 지원할 수없는 인터페이스가 분명 있습니다. 또한, 우리가 지원하는 안정적인 ABI는 "통합 런타임"또는 irt에 의해 노출되는 것이며, irt code thunk는 브라우저가 있다고 가정합니다. sel_ldr을 통한 NaCl의 독립 실행 형 사용은 대체 irt가 작성 될 때까지 처음에는 syscall 인터페이스를 사용해야 할 것입니다. (주 : 우리는 시스템 콜 인터페이스의 안정성에 대해 아무런 보장도하지 않습니다.)

2

Native Client의 출처에 포함되어있는 run.py을 시도 할 수 있습니다.

다음은 hello world 프로그램을 실행하는 예입니다.

make test_hello_world_nexe 
python native_client/run.py out/Debug/hello_world_newlib_x64.nexe 

구축, 검색 및 sel_ldr을 호출하고 자동으로 적절한 인수를 전달할 수 있습니다이 스크립트.

관련 문제