Adobe Max 2007 의 궁금한 동영상

In: Programming

11 Oct 2007

여기저기 돌아 다니다가 발견한 동영상이 있다. Adobe Max 2007의 Sneak Peaks 세션 동영상인데, 리스닝이 되지 않아서 대충 화면만 보고 있는데.. 상당히 놀라운 점이 눈에 들어왔다.

Flash On C/C++ 라는 세션인데, 정확히 무슨 말인지 잘 모르겠다.

< 출처 : http://www.peterelst.com/blog/2007/10/03/adobe-max-chicago-sneak-peeks/ >

처음에는 제목 보고 그냥 기존의 C/C++과 Flash의 연결의 이야기인가 싶었는데 분위기가 그건 아니었다. 대충 화면을 보면 C/C++ 코드를 AS3(ActionScript 3) 코드로 변환시켜서 실행할 수 있다는 이야기인거 같다. 문제는 그 정확한 과정인데 말이지. 리스닝이 영 아니라서.. 음. 마지막에 보면 예제로 실행한 게임은 퀘이크 1인거 같은데, 도대체 어떻게 실행을 했다는 이야기지?

C/C++ 코드를 컴파일 해서 dll이나 so로 만들어서 로딩한다? 흐음.. 영상만 봐서는 그런 이야기는 아닌거 같고, 역시 C/C++ 기존 코드를 AS3로 변환시켜서 실행할 수 있다는거 같기도 한데 모르겠네. 아직 Adobe 사이트에도 자세한 이야기는 없고.. 그런데 코드 레벨의 변환이면 .. 글쎄. 좀 회의적인걸? 그렇지 않다고 생각하는 사람은 아직 C++의 안드로메다급 코딩을 본 적이 없어서가 아닐까나.. 단순히 코드를 복잡하게 썼다는 것이 아니라 다계층 상속 구조에 프렌드 함수 및 +,==,!= 정도가 아니라 , 연산자를 중복 정의하고 매크로, 멤버/비멤버 템플릿 특수화 등으로 점철된 그런 코드를 AS3로 컨버팅 한다는 것은 힘들 듯..

에잉 소리도 너무 울려서 잘 안 들리고 영어 리스닝도 안되고 짜증이네. 속 시원하게 설명한 글도 못 찾겠고. 쩝.

  • 보니까 말씀대로 코드레벨에서 컴파일을 해서 액션스크립트로 바꿔주는 것 같습니다. 실제로 주어진 소스 코드 분석해서 다른 형태의 코드로 바꿔주는 것은 많이 연구되었기 때문에 그렇게 놀랄만한 일은 아닌 것 같네요. 뒷부분에 보니 flash는 싱글스레드만 지원하는데 asynchronous 머시기를 통해 pthread로 짜여진 C/C++ 멀티스레드 프로그램을 근사시킨다.. 이런 이야기도 나오네요.

    아주 복잡한 템플릿은 힘들겠지만 일반적인 수준의 C/C++ 코드 컨버팅은 어려운 것이 아닐 것 같습니다. 아마 내부적으로 처리를 다 하겠죠. malloc같은 건 이렇게 처리하고.. pthread가 오면 이렇게 하라고.. 이건 일반적인 컴파일 테크닉으로 되는거라 Adobe 같은 회사라면 충분히 할 수 있을 것 같아요.

    마지막에 나온 오락을 보고 사람들이 경악한 건.. 충분히 이해할만하죠. 뭐 내부적으로 그 오락의 소스를 얼마나 수정했는지 모르겠지만, 새로 액션스크립트로 짤 필요 없이 기존의 코드만 가지고 저 정도 나올 수 있다고 하면 활용도가 급상승...

    실버라이트는 어떡한데요? ㅎㅎ
  • 말씀하신 대로 사실 일반적인 C/C++ 코드라면야 딱히 컨버팅에 문제는 없을겁니다. 예전에 그런 제품들도 몇 번 봤거든요. 그러나 결국 C++의 복잡한 구현 방식을 그대로 옮길 수 없어서 원본 소스 코드에 수정이 가해져야 한다면.. 사실 그 활용도라는게 크게 높진 않을거 같다라는 생각이 드네요. ^^ (C야 뭐 95% 이상의 퀄리티가 아닐까.. 하지만)

    실버라이트야 뭐.. MS 쪽에서 뭐 알아서 하겠죠. ㅋㅋ
blog comments powered by Disqus

Categories