Czy możliwe jest uruchamianie Google NaCl poza przeglądarką jako piaskownicy procesowej?Czy mogę uruchomić klienta Native firmy Google poza przeglądarką?
Odpowiedz
Klient natywny documentation to prawdopodobnie dobry punkt wyjścia do próby ustalenia, jak wszystko działa.
Jak zaznaczają Mark Seaborn i Bennet Yee, prawdopodobnie najlepiej będzie się zagłębić w używanie sel_ldr. Więcej informacji o tym, jak sel_ldr jest zawarty w "The life of sel_ldr".
Nie wprowadziłem osobiście niczego, co używa NaCl poza przeglądarką, więc niestety mogę nie komentować łatwości.
Tak. Autonomiczna wersja Native Client zawiera program o nazwie "sel_ldr", który uruchamia sandbox NaCl poza przeglądarką internetową. Wiele testów NaCl testuje NaCl, uruchamiając programy pod sel_ldr, a nie pod przeglądarką.
Aby dodać do odpowiedzi Marka, spójrz na cel sel_universal. Istnieją oczywiście niektóre interfejsy, które nie mogą być obsługiwane, np. Interfejsy Pepper, ponieważ taki samodzielny przebieg nie wymaga przeglądarki. Ponadto stabilny ABI, który wspieramy, jest tym, który jest ujawniany przez "zintegrowany runtime" lub irt, a thirt code thirt zakłada, że przeglądarka jest obecna. samodzielne użycie NaCl przez sel_ldr prawdopodobnie będzie musiało początkowo korzystać z interfejsu syscall, dopóki nie zostanie napisany alternatywny irt. (Uwaga: nie gwarantujemy stabilności interfejsu syscall.)
Możesz wypróbować run.py
, który jest zawarty w źródle klienta natywnego.
Oto przykład, który uruchamia program Hello world.
make test_hello_world_nexe
python native_client/run.py out/Debug/hello_world_newlib_x64.nexe
Skrypt ten może budować, wyszukiwania i wywoływać sel_ldr
, i przekazać odpowiednie argumenty do niego automatycznie.
Ostatnio zadałem to samo pytanie w grupie dyskusyjnej. Odpowiedź brzmi: tak, używając sel_ldr, jak odpowiedział Mark Seaborn. –