CrossBridge - это набор инструментов с открытым исходным кодом, разработанный Adobe Systems, этот перекрестно компилирует код C и C ++ для запуска в Adobe Flash Player или Adobe AIR. Проекты, скомпилированные с помощью CrossBridge, выполняются до 10 раз быстрее, чем проекты ActionScript 3. CrossBridge также был известен как «Алхимия» и «Компилятор Flash Runtime C ++» или «FlasCC».
CrossBridge использует высокопроизводительные коды операций доступа к памяти в Flash Player (известный как «Доменная память») для быстрой работы с данными в памяти. CrossBridge использует LLVM и GCC как серверные части компилятора, чтобы скомпилировать код C ++, оптимизировать его и преобразовать для работы в AVM2 (ActionScript Virtual Machine ). Программы, созданные с помощью CrossBridge, до 10 раз быстрее, чем обычный код ActionScript, но от 2 до 10 раз медленнее, чем собственный код C ++.
CrossBridge может создавать видеоролики Flash Player (.swf файлы) или библиотеки Flash (файлы .swc ), которые затем можно использовать в более крупных проектах, написанных на ActionScript 3 и скомпилированных с помощью бесплатного Apache Flex SDK (ранее Adobe Flex SDK). CrossBridge также использует ускорение 3D-рендеринга на основе GPU, присутствующее в Flash Player 11 (известное как Stage3D ).
. Используя CrossBridge, Adobe портировала OpenGL для использования в Flash Player Stage3D и выпустил его как проект с открытым исходным кодом в 2012 году. Язык программирования Lua (версия 5.1) также был перенесен для работы в Flash Player с использованием CrossBridge и выпущен в Google Code. Проекты, скомпилированные с помощью CrossBridge, также позволяли запускать клиента -сайд цифровая обработка сигналов в реальном времени, включая быстрое преобразование Фурье и мексиканское преобразование вейвлет-преобразование.
В 2008 году компания Adobe выпустила CrossBridge как «Project Alchemy» на Adobe Labs Это позволило компилировать специально модифицированные проекты C ++ в SWF с использованием компиляторов LLVM и GCC.
В 2012 году, пытаясь монетизировать Flash Player, Adobe ограничила использование функций Stage3D и Domain Memory F lash Player под брендом «Premium Features». «Премиум-функции» были лицензированы для использования, и издатели должны были платить Adobe роялти за их использование. Project Alchemy был коммерчески выпущен как компилятор Flash Runtime C ++.
В 2013 году Adobe открыла исходный код компилятора Flash Runtime C ++ как CrossBridge и разместила его на веб-сайте GitHub, на котором размещен код. «Премиум-функции» также стали бесплатными и больше не требовали лицензирования или лицензионных отчислений.