У меня есть встроенное устройство с WinCE 6.0 в качестве ОС. Производитель предоставляет IDE для разработки сторонних разработчиков. IDE в значительной степени не позволяет ничего другого, чемРасширение возможностей мультимедиа Win Embedded CE 6.0
- .NET 3.5 Compact Framework сценариев, который вызывается из различных событий из основного приложения
- Добавление файлов на устройство.
Включенный медиаплеер, кажется, использует DirectShow, а ОС имеет медиакодек только для воспроизведения видео с кодировкой mpeg-1. Моя цель - иметь возможность воспроизводить медиа, закодированные с помощью некоторых других кодеков, а также внутри этого основного приложения.
Я уже успел использовать DirectShowNETCF (оболочка DirectShow для .NET Compact Framework) и успешно воспроизвести видео с кодировкой mpeg-1.
Я совершенно новый с этим материалом, и у меня есть тонны (глупых) вопросов. Я буду стараться сократить их:
ОС основана на WinCE, но, насколько я понял, это на самом деле всегда есть адаптированная версия этого (с помощью Platform Builder). Только «правильный способ» разработки чего-либо для этого заключается в использовании SDK, который обычно предоставляет производитель. Правильно? В моем случае SDK чрезвычайно ограничен и плотно интегрирован в IDE, как указано выше. Тем не менее, .NET CF 3.5 способен к взаимодействию, поэтому его можно вызывать родные библиотеки - до тех пор, пока они скомпилированы для правильной платформы.
Скомпилированный код - это в значительной степени просто инструкции для процессора (код ассемблера), и компилятор выбирает правильные инструкции, основанные на настройке целевого процессора. Также есть PE-заголовок, который определяет, под какой платформой должна запускаться программа. Если я нацелен на свой «helloworld.exe» (ничего не возвращает только код выхода) на x86 и компилирует его с помощью VC, должен ли он работать?
Если PE-заголовок на самом деле является проблемой, возможно ли установить WINCE без SDK? Мне действительно нужен весь SDK для создания простого исполняемого файла, который использует только базовые типы? Я использую VS2010, который даже не поддерживает интеллектуальных устройств, и я бы не хотел понижать рейтинги только для целей тестирования.
Вышеперечисленные вопросы являются приквелом к моей фактической идее: Портирование ffmpeg/ffdshow для WinCE. Это фактически уже exists, но не предназначено и не предназначено для Intel Atom. Комментарии?
Если нативная реализация невозможна, и я в конечном итоге реализую некоторый определенный кодек с C# ... ну, что, вероятно, будет довольно масштабной задачей. Но нужно ли выбирать C# над native, могу ли я столкнуться с проблемами с производительностью кодека? Я имею в виду .. это C# THAT намного медленнее?
спасибо.
Благодарим за отличные ответы! Просто для уточнения: устройство имеет процессор Intel Atom (x86 -architecture), поэтому может ли для него использоваться стандартный компилятор VC? Я каждый раз сокращал все ссылочные библиотеки и замечал, что для того, чтобы успешно скомпилировать любой собственный код, необходимо предоставить как минимум kernel.lib. Можно ли просто ссылаться на версию СЕ? (... отчаянно пытаясь избежать VS2008 ..) –
Aw sh -... забыть о ссылках libs. Там, похоже, довольно много зависимостей и т. Д. Поэтому я предполагаю, что VS2008 - мой единственный выбор. Однако, возможно, теоретически можно было бы использовать любой компилятор x86 для архитектуры x86 независимо от целевой ОС? –
В теории, я полагаю, так. Для этого потребуются все среды выполнения и библиотеки libs, поставляемые вместе с компилятором устройства, поэтому вам все равно придется установить VS'08 для их получения, а затем использовать альтернативный компилятор со всеми соответствующими переключателями, чтобы получить код для сборки и соединения , Это было бы не слишком весело. – ctacke