꿈꾸는자의 생각의 파편들... :: C/C++과 Flash의 조화... Alchemy... 오호!

달력

09

« 2018/09 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
  •  
  •  
  •  
  •  

Adobe의 연구 프로젝트중에 하나 Alchemy...
델마당에 들어가보니 재미있는 소식이 있어서 자료들을 검색해보니...
제법 꽤! 수준높은 수준까지 올라가있다.

http://www.arcadenoid.com/doom.html

다른것은 다 집어치우고... Doom을 Flash로 변화시킨것을 보면...
정말 멋지다.

ActionScript VirtualMachine(AVM2)용으로 컴파일할 수 있는 프로젝트인데...
http://www.adobe.com/devnet/actionscript/articles/avm2overview.pdf<- 상세 문서는 이넘...

http://www.craftymind.com/2008/04/18/updated-elastic-racetrack-for-flash-9-and-avm2/ <- 이문서도 참조할만하다.

연구의 바탕자체는...
Flash 9에서부터 시작해서 Flash Player 10과 Adobe AIR 1.5에서 구동가능한 SWF or SWC형태로 컴파일 할 수 있게 해주는것으로써, GCC를 이용해서 LLVM(Low Level Virtual Machine)으로 변화시킨후에, 이 넘을 AVM바이트 코드르 변경시키는 과정으로서 완성된다.

LLVM프로젝트도... Java의 JVM처럼 가상머신위에서 명령어 집합 + 형식 시스템의 3번지 코드 방식으로 만들어지는 일종의 가상코드이다. 내부적으로 정수이지만 파생된 포인트, 배열, 벡터, 구조제, 함수등의 5가지를 통해서 표현된다. 어찌보면 그 자체가 C++의 클래스를 받아들일 수 있는 구조가 되어있다고 볼 수 있다.

C++의 클래스를 구조체 + 함수, 함수에 대한 포인터로 변형할 수 있기 때문이다.

호~ 발상이 멋지죠?

C와 C++ -> LLVM -> SWF라...

머.. 가장 중요한것은 AVM2가 사실 오픈되었다는 것...
그래서, 이 방식을 맞추면...
어떤 언어이던지 가능하다는 이야기인데...

이거...
새로운 플랫폼의 방향을 제시하는 것 일 수도.. ㅎㅎ

좌우당간...

좀더 적극적으로 활용한다면...
다른 언어들도 충분하게 가능하다라고 이야기할 수 있는데.. ~.~
다양한 확장이나...
고려대상이 될만하겠네요...

아...
결론적으로는...

AVM2를 Java의 JVM의 레벨까지 끌어올리겠다는
고차원적인 발상인듯..
ㅎㅎ

많은 것을 버리는 것 같지만...
가장 많은 것을 얻는
Adobe의 전략이 멋집니다.

~.~

AVM2관련 문서를 살펴보니...
ActionScript Byte Code (ABC) Format에 대한 이야기가 있고...
세부적인 명령어들에 대해서도 나열되고 있네요...

좀더 상세한 내용들은...
아래의 블로그를 가보세요.

~.~

http://jidolstar.com/blog/archives/356 <- C/C++ Flash 플랫폼과의만남, Alchemy 1부
http://jidolstar.com/blog/archives/436 <- Adobe Alchemy 속도 테스트

자세하게 나와있는 글들도 체크할만하다.

ps~~

오호...
구글링을 해보니...

꽤 많은 곳에서...
pascal과 접목하려고 시도하고 있네요...
하긴..
어렵지는 않을테니...

ㅇㅇ;
Posted by 꿈꾸는자의 생각의파편들