CrossBridge - CrossBridge

CrossBridge er et open source verktøysett utviklet av Adobe Systems , som kryss-kompilerer C og C ++ kode for å kjøre i Adobe Flash Player eller Adobe AIR . Prosjekter samlet med CrossBridge kjører opptil 10 ganger raskere enn ActionScript 3- prosjekter. CrossBridge ble også kjent som "Alchemy" og "Flash Runtime C ++ Compiler", eller "FlasCC".

CrossBridge bruker høyeffektive minnetilgang- opoder i Flash Player (kjent som "Domain Memory") for å arbeide raskt med minnedata . CrossBridge bruker LLVM og GCC som kompilator backends, for å kompilere C ++ -kode, optimalisere den og transformere den til å kjøre innenfor AVM2 (ActionScript Virtual Machine ). Programmer som er bygd med CrossBridge, er opptil 10 ganger raskere enn vanlig ActionScript-kode, men opptil 2 × til 10 × saktere enn native C ++ -koder.

CrossBridge kan generere Flash Player-filmer ( .swf- filer) eller Flash Libraries ( .swc- filer), som deretter kan brukes av større prosjekter skrevet i ActionScript 3 og kompilert ved hjelp av gratis Apache Flex SDK (tidligere Adobe Flex SDK). CrossBridge bruker også den GPU- baserte 3D-rendering akselerasjonen som finnes i Flash Player 11 (kjent som Stage3D ).

Ved å bruke CrossBridge, portet Adobe OpenGL for bruk i Flash Player Stage3D og ga det ut som et åpen kildekode-prosjekt i 2012. Lua-programmeringsspråket (versjon 5.1) ble også portert for å kjøre i Flash Player ved hjelp av CrossBridge, og utgitt på Google Code. CrossBridge-kompilerte prosjekter muliggjorde også å kjøre klientsiden digital signalbehandling i sanntid, inkludert Fast Fourier Transform og meksikansk hat wavelet-transformasjon .

Historie

I 2008 ble CrossBridge utgitt av Adobe som "Project Alchemy", på Adobe Labs nettsted. Det muliggjorde sammenstilling av spesialmodifiserte C ++ -prosjekter til SWF, ved hjelp av LLVM- og GCC-kompilatorene.

I 2012, i et forsøk på å tjene penger på Flash Player, begrenset Adobe bruken av Stage3D- og Domain Memory-funksjonene til Flash Player under merkevaren "Premium Features". Premium-funksjonene ble lisensiert for bruk, og utgivere skulle betale royalty til Adobe for bruk av det samme. Project Alchemy ble kommersielt utgitt som Flash Runtime C ++ Compiler.

I 2013 åpnet Adobe Flash Runtime C ++ Compiler som CrossBridge, og ga den ut på nettstedet GitHub- kode. "Premium-funksjonene" ble også gjort gratis for bruk, og krevde ikke lenger lisenser eller royalty.

Se også

referanser

Eksterne linker