2011-12-23 4 views
1

Я пытаюсь создать собственный клиентский модуль, который использует библиотеку improv для получения входа midi непосредственно в веб-браузере. Но я столкнулся с проблемами как заголовки импровизации, такие как termio.h и sys/ioctl.h и многое другое: много файлов заголовков, которых нет в toolchain newlib.Как изменить цепочку инструментов NaCl?

Вопрос в том, как изменить инструментальную цепочку для использования в моей инструментальной цепочке так, чтобы она использовала linux_x86 вместо стандартной привязки linux_x86_newlib по умолчанию?

The wikipedia page on the Native Client говорит: «Нативный клиент использует Newlib как свою библиотеку C, но также доступен порт GNU libc». и я вижу toolchain в папке pepper_1/toolchain, но как мне сказать скрипту build.scons использовать эту альтернативную инструментальную цепочку?

Спасибо всем, кто может принести некоторые огни к этому.

ответ

2

Модули собственного клиента не имеют доступа к входу MIDI.

Уровень доступа к локальным ресурсам (преднамеренно) значительно ограничен: ядро ​​NaCl предоставляет возможность выделять память, создавать потоки и использовать простой механизм IPC, а стабильный API, открытый Интегрированной Runtime (IRT) не раскрывает системные вызовы IPC, а предоставляет интерфейс Pepper для доступа к ресурсам на стороне браузера. Интерфейс Pepper предназначен только для доступа к модулю NaCl для того же типа ресурсов, что и у JavaScript, - поэтому использование модуля NaCl не приведет к появлению новых уязвимостей безопасности (через доступ к ресурсам), которые еще не присутствовали. До сих пор это означает, что WebFS-хранилище, уведомления о событиях DOM и т. Д., И, в частности, не включает в себя общий доступ к USB-устройствам и доступ к MIDI. Учитывая это, я подозреваю, что до тех пор, пока веб-платформа не разрешит JavaScript для доступа к MIDI, маловероятно, что у собственного клиента будет доступ.

Смежные вопросы