크로스브리지
CrossBridge크로스브리지(CrossBridge)는 Adobe Systems가 개발한 오픈 소스 툴셋으로, Adobe Flash Player 또는 Adobe AIR에서 실행할 C와 C+++ 코드를 교차 컴파일한다.[1]CrossBridge로 컴파일된 프로젝트는 ActionScript 3 프로젝트보다 최대 10배 더 빨리 실행된다.[2][3][4][5][6]크로스브릿지는 "Alchemy"와 "Flash Runtime C++ Compiler" 또는 "FlasCC"[7][8][9]로도 알려져 있다.
크로스브릿지는 플래시 플레이어("Domain Memory"로 알려진)에서 고성능 메모리 액세스 opcode를 사용하여 인메모리 데이터를 신속하게 처리한다.[10]C++ 코드를 컴파일러 백업으로 크로스브리지가 LLVM과 GCC를 사용하여 C++ 코드를 컴파일하고 최적화하며 AVM2(ActionScript Virtual Machine 2) 내에서 실행되도록 변환한다.CrossBridge로 구축된 프로그램은 일반 ActionScript 코드보다 최대 10배 빠르지만, 기본 C++ 코드보다 최대 2배~10배 느리다.[4][5][6][11]
CrossBridge는 Flash Player 영화(.swf 파일) 또는 Flash Libraries(.swc 파일)를 생성할 수 있으며, 이 영화들은 ActionScript 3에서 작성되고 무료 Apache Flex SDK(이전의 Adobe Flex SDK)를 사용하여 컴파일된 더 큰 프로젝트에서 사용할 수 있다.크로스브릿지는 또한 Flash Player 11(Stage3D라고도 함)에 있는 GPU 기반 3D 렌더링 가속을 사용한다.[12]
Adobe는 CrossBridge를 사용하여 Flash Player Stage3D 내에서 사용할 수 있도록 OpenGL을 포팅하여 2012년에 오픈 소스 프로젝트로 출시했다.[13]루아 프로그래밍 언어(버전 5.1)도 크로스브리지(CrossBridge)를 사용하여 플래시 플레이어에서 실행되도록 포팅되어 구글 코드로 출시되었다.[14]크로스브리지 컴파일 프로젝트도 빠른 푸리에 변환과 멕시코 해트 웨이브릿 변환을 [15]포함한 클라이언트측 디지털 신호 처리를 실시간으로 실행할 수 있도록 했다.
역사
2008년에 크로스브릿지는 Adobe Labs 웹사이트에서 Adobe에 의해 "Project Alchemy"로 발매되었다.LLVM과 GCC 컴파일러를 사용하여 특수하게 수정된 C++ 프로젝트를 SWF에 컴파일이 가능하도록 했다.[7]
2012년, Flash Player의 수익화를 위해 Adobe는 "프리미엄 기능" 브랜드로 Flash Player의 Stage3D 및 도메인 메모리 기능의 사용을 제한했다."프리미엄 기능"은 사용이 허가되었고 출판사는 어도비에게 동일한 기능을 사용하기 위해 로열티를 지불해야 했다.[16]프로젝트 알케미는 플래시 런타임 C++ 컴파일러로 상업적으로 출시되었다.[9]
2013년 Adobe는 Flash Runtime C++ Compiler를 CrossBridge로 오픈소싱하여 GitHub 코드 호스팅 웹사이트에 공개했다.[17]"프리미엄 기능"도 무료로 사용되었고, 더 이상 라이센싱이나 로열티가 필요하지 않게 되었다.[18]
참고 항목
- asm.js
- 엠스크립텐
- Google 네이티브 클라이언트(NaCl)
- WebAssembly – 브라우저용 개발 중인 바이트 코드
참조
- ^ GitHub의 Adobe별 크로스브리지
- ^ "Alchemy:FAQ". Archived from the original on May 5, 2012. Retrieved May 5, 2012., Adobe Labs, "ASC는 현재 최적화 작업을 거의 수행하지 않음"
- ^ Zotov, Peter (2012-05-06). "Reaching the Limits of Adobe Stupidity – whitespace". Whitequark.org. Retrieved 2012-10-27.
- ^ a b 연금술:FAQ 2012년 5월 5일 Adobe Labs의 웨이백 머신에 보관
- ^ a b LLVM, Adobe를 사용하여 ActionScript 바이트 코드 최적화
- ^ a b 어도비 알케미, 액션스크립트 이단인가?0번 유닛
- ^ a b Alchemy 2008년 11월 17일 Adobe Blogs, Labs에서 릴리즈된 Alchemy
- ^ 2008년 12월 11일 Adobe Blogs, Labs에 공개된 Alchemy 업데이트
- ^ a b "Alchemy" 프로젝트는 이제 Flash Runtime C++ Compiler(FlasCC), Adobe 블로그, 2012년 10월 8일
- ^ FlasCC for Flash Player, Adobe Gaming 2013년 5월 25일 웨이백 머신에 보관
- ^ 알케미, 어도비 랩스
- ^ XC API, Adobe Gaming 2013년 4월 25일 웨이백 머신에 보관
- ^ Stage 3D용 OpenGL, GitHub 프로젝트 호스팅
- ^ Alchemy를 사용하는 ActionScript용 Lua 프로그래밍 언어의 Port of the Lua-alchemy, Google Code
- ^ Timponik, AVM2, 2015년 1월 실시간 피치 검출
- ^ 2014-07-19년 Wayback Machine, Adobe Flash Team 블로그, Adobe에 보관된 Flash Player의 프리미엄 기능
- ^ 오픈 소스 Flash C++ 컴파일러, CrossBridge Archived 2014-03-25 Wayback Machine, Adobe Blogs, 2013년 6월 25일
- ^ Flash Player, Adobe Devnet용 Adobe Premium 기능
외부 링크
- 공식 웹사이트
- Adobe devnet의 Adobe Flash C++ Compiler(FlasCC)
- GitHub의 어도비 플래시/크로스브리지
- 소스포지의 크로스브리지
- GitHub의 vpmedia/크로스브리지
- CrossBridge-Community on SourceForge