パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

C/C++でFlashアプリが開発できるAdobe Alchemy」記事へのコメント

  • by Anonymous Coward on 2008年11月23日 20時58分 (#1460913)
    なんかもう、まえの悶着見ててVMなのかコンパイラ用の中間言語なのかなんなのかまったくわかんなくなってきちゃったんだけど。
    LLVM使うと結局どうなんの?
    C++でもGCとかがサポートされるってことなの?
    サポートされないんだったら、javaやらperlやらはどうなんの?
    教えてプリーズ
    • by Anonymous Coward on 2008年11月23日 22時40分 (#1460930)
      LLVMはコンパイラフレームワークです。
      llvmでコンパイルしてactionscript bytecodeを生成するという話です。
      c++でもgcがサポートされるということは無いと思いますが、bohem gcなどは使えると思います。
      javaはgcj付きでビルドしたllvm-gccで動くかもしれませんが分かりません。
      perlはインタプリタをactionscript bytecodeにコンパイルすれば動くかもしれませんが分かりません。
      親コメント
      • by Anonymous Coward
        ありがとう。
        なんとなくイメージわいてきた。
        今回のは
        c++ ->(ここから Adobe)-> (コンパイル)->LLVM->(コンパイル)-> (Alchemy ここまで)->Flash
        っていうのが新しいってことね。
        perlやらネイティブコードに変換する代わりにflashにしてみました、と。
        実行時最適化とか、静的にコンパイルするより速くなるってことでLLVMにワクテカしてた時期があったんだけど、
        そういう風にも使えるってことで、別にそのための技術じゃないってことね。
        • by Anonymous Coward
          > c++ ->(ここから Adobe)-> (コンパイル)->LLVM->(コンパイル)-> (Alchemy ここまで)->Flash

          下が正解

          C++ ->(by llvm-gcc) -> LLVM命令 -> (by Alchemy) -> ActionScript VM命令
          http://journal.mycom.co.jp/news/2008/07/10/031/ [mycom.co.jp]
          • by Anonymous Coward
            ユーザレベルでの考えなら、

            C/C++ → (Adobe Alchemy が何かやってくれる) → flash で動く

            で十分ははずですけどね。
            Alchemy の概念自体が LLVM に依存するものではないハズだし。
            • by Anonymous Coward
              君はそういう意味のない一般化して何を言いたいのかね。
      • by Anonymous Coward
        >bohem gcなどは使えると思います。

        boehem gc「を」そのVM上で動くよう移植する必要が有りますね。
        そしてその移植は常に可能とは限らず、CPUだのなんだのの機能に依存する面が有りますし、
        またイロイロなワザを使うことを禁止される環境では成功率は下がる恐れも有ります。

        Boostあたりのメモリ管理はイケルだろうけど。
        • by kr (10950) on 2008年11月24日 19時04分 (#1461120) 日記
          LLVMのサイトに、 Accurate Garbage Collection with LLVM [llvm.org] というドキュメントがあります。 詳しくは読んでいないのですが、「CPUだのなんだのの機能に依存する面」としては、stack配置やwrite/read barrier等、一般的にGCで必要となりそうな部分は、ある程度考慮されているようにも見えます。

          ただし、このドキュメントが語っているのは、タイトルの通り"accurate" garbage collection向けの機能であり、おのずとcooperative garbage collectionを想定しているようなので、あくまで"conventional" garbage collectorとしてのBoehm-GCを移植したいという場合に、このドキュメントが役に立つかどうかは(よく読んでいないので)分かりません。

          おっしゃる通りBoostのメモリ管理とは相性が良さそうです。

          個人的には、実用的なcopyingもしくはgenerational collectorがどの程度のパフォーマンスでLLVM上に実装できるのかに興味があります。LISP好きなので。 :-)

          ところで、このドキュメントを読んで、OCamlがすでにLLVMで動くらしいことを知りました。 ということは、OCamlで書いてFlash Playerで実行するなんてこともできるのでしょうか? (と、無理矢理ストーリーに関連付ける。)

          親コメント

長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds

処理中...