#mono #google-nativeclient
#mono #google-nativeclient
Вопрос:
Я нашел пресс-релиз, в котором говорится, что Mono теперь поддерживает компиляцию для собственного клиента. Неясно, доступно ли это только из отдельной mono-вилки github или как часть стандартного дистрибутива.
Я создал раздвоенный дистрибутив mono, но мне не удалось найти никаких примеров того, как создать исполняемый файл собственного клиента, чтобы я мог запускать его в Chrome.
Кто-нибудь знает пример проекта или может привести пример того, как создать приложение Mono для NaCl?
Ответ №1:
Я думаю, что некоторые изменения, возможно, были расширены, но на сегодняшний день (16.11.11) определенно есть исправления, которые все еще находятся только в форке github ( https://github.com/elijahtaylor/mono / ). Чтобы создать mono для nacl, следуйте инструкциям в каталоге mono / nacl ( https://github.com/elijahtaylor/mono/tree/master/nacl ). Вам нужна среда выполнения mono, которая будет создавать mono, которая может быть встроена в ваш модуль nacl и может JIT-компилироваться.СЕТЕВЫЕ сборки. (Существует также компилятор mono AOT, который работает на linux / mac и генерирует модули nacl, но я почти уверен, что сейчас он не работает, поскольку его никто не использует и не тестирует).
Смотрите nacl/test/my.c и mono/mini/fsacheck.c для примеров того, как вызвать среду выполнения mono для JIT-кода из вашего модуля nacl. Внутри браузера вам придется придумать свой собственный способ (например, pepper и / или nacl-mounts), чтобы получить байт-код в ваш модуль nacl.
Комментарии:
1. Особой активности не было; изменения x86 были приняты вверх по течению, но не изменения ARM. По-прежнему должно быть возможно создать и использовать fork, но я ожидаю, что будет несколько проблем, которые нужно решить. Если вам интересно, вы можете попробовать, а затем задать более конкретные вопросы здесь или на native-client-discuss@googlegroups.com
Ответ №2:
Я не уверен, что он был передан в репозиторий Mono, но здесь есть форк, который работает на NaCl: https://github.com/elijahtaylor/mono Обратите внимание, используйте на свой страх и риск!
Ответ №3:
В этом сообщении от марта 2012 года указано, что Chrome 19 поддерживает встроенную поддержку Mono
Версии Mono для встроенного клиента теперь доступны для загрузки в SDK. Они компилируются с помощью glibc, а libmono поставляется в виде динамической библиотеки. Mono доступен только для pepper_19 и выше.
Обратите внимание, что вы должны синхронизировать свои пакеты pepper_X и naclmono_X (т. Е. Не обновлять один, не обновляя другой), иначе вы, вероятно, не сможете запустить результирующие встроенные nexes. Новые версии Mono, соответствующие данному SDK, должны быть доступны в течение нескольких часов после выпуска новой сборки SDK.
В настоящее время в Native Client поддерживается только встроенный Mono (http://www.mono-project.com/Embedding_Mono ).