SIHOのプログラミングわーくワク

興味の赴くままに勉強してたら、読み書きできる言語は9個になりました。他にもいくつか気になる言語があったりなかったり?  まだまだ続く、楽しいお仕事わーくワク♪

  • « 
  • 10 
  • 11 
  • 12 
  • 13 
  • 14 
  • 15 
  • 16 
  • 17 
  • 18 
  • 19 
  • 20 
  • 21 
  • 22 
  • 23 
  • 24 
  • 25 
  • 26 
  • 27 
  • 28 
  • 29 
  • 30 
  • 31 
  • »

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FlashDevelop + GCC + C で ANEに初挑戦:HelloWorld

2013.07.26 (Fri)

Adobe Native Extension 、「ANE」。
これを自在に作れるようになったら最強のAIR戦士になれるんです。

AIRなんで、もちろんAS3を使えることが大前提。
だが、それに加えて、各プラットフォームごとのNative言語が必要になります。
iOS/MacだとObjective-Cだし、AndroidだとJAVAだし、WindowsならC++もしくはC#。

で、とりあえずWindows環境においての最強のAIR戦士になるべく自主トレしてみた。
教科書:「FlashDevelop + GCCでANE入門」
http://rest-term.com/archives/2950/

■主な手順:
1)Dllつくる <<ここでは、Cで作っている。
2)SWCつくる
3)liblary.swfとりだす
4)ANEつくる
5)AIRから動かしてみる。

ほぼ、上記の記事のとおりで作れますが、この記事はコマンドラインベースで書かれているので、その辺の知識がないとそもそもビルドが通らなくて先に進めません。

注意:現在はオプションがひとつ必要になりました。
swc をacompcでビルドする時のオプションに「-swf-version 13 ^」も加えましょう。
あとは、頑張ってコマンドラインを打てばいけます。
記事を読み進めるために、必要だった参考記事たち。

GCCを使う方法:「gcc(MINGW版)をとりあえず使うには」
http://www3.u-toyama.ac.jp/kihara/pgm/gcc.html

環境変数の設定方法:「Windows 環境変数 Path の設定方法」
http://next.matrix.jp/20111224.html
※追記する際に「;」で区切るってのが超重要ですよ。

あと、コマンドラインのコマンドですが、記事中では、「cd」でディレクトリを変更して行っています。

例えば、dllをコンパイルする時のコマンドラインのコマンド文ですが、下記のように書かれています。

C:\Users\Ryo\workspace\HelloANE\src\ext>gcc -c hello.c
C:\Users\Ryo\workspace\HelloANE\src\ext>gcc -shared -o hello.dll hello.o FlashRuntimeExtensions.lib



cmd.exeを起動した直後のカレントディレクトリは「C:\Users\ユーザー名」なのでこの場合は「C:\Users\Ryo>」表示されていたはずです。
この状態から「cd C:\Users\Ryo\workspace\HelloANE\src\ext」と打ち込んだ結果、
カレントディレクトリが移動し、「C:\Users\Ryo\workspace\HelloANE\src\ext>」と表示されます。
記事はその状態から始まっていますので、カレントディレクトリがどこを示しているかをあわせてみながら読み進めましょう。

コマンドプロンプト入門:「炎のコマンドプロンプト入門」
http://www5f.biglobe.ne.jp/~ayum/command/001.html

コメント

WindowsのANEでは

プラットフォームがWindowsでネイティブ側をC++(Win32API)とC#で組む場合はCOM参照に注意して下さいね。

上手くやらないとネイティブ側で参照掴んだまま、プロセスがゾンビになることがありますので。
まぁ、よっぽどアホタレな(Generics使わずにString[]にしてるとか)ことやらなければ大丈夫だと思いますが。

Re: WindowsのANEでは

> まぁ、よっぽどアホタレな(Generics使わずにString[]にしてるとか)ことやらなければ大丈夫だと思いますが。

ほうほう。
http://ufcpp.net/study/csharp/sp2_generics.html

まだC++は初心者マークなので、アドバイスを参考にゾンビーさんにならないように頑張りまっす。

あと

あと、スレッド/マルチスレッドを使う場合はANEを実装するDLLに実装して、C++でスレッド処理を書いて下さいね。

別のDLLやC#側に実装しても呼んでくれないです。

Re: あと

> あと、スレッド/マルチスレッドを使う場合はANEを実装するDLLに実装して、C++でスレッド処理を書いて下さいね。
>
> 別のDLLやC#側に実装しても呼んでくれないです。


超重要なポイントをありがとうございます!
C++初心者なのでマルチスレッドは無理っぽいですが、スレッドは使う予定なのでC++側で書きますー。
あー。やっぱり、その点でもC++はメリットがあるんですね。
やっぱり、かじるだけでもC++は勉強しておいた方がよさそうですねぇ。

コメントの投稿

トラックバック

この記事のトラックバックURL

 | HOME | 

プロフィール

siho_prof

SIHO
しほ

Twitter:
SIHO_o

viva mambo, inc.
iPhone&iPad / Flash / Kinect
使用言語:Objective-C, ActionScript 3.0, Javascript, Lua, PHP, C#, C, C++, WSH。
F-site staff

Solar System Simulator 広報

Web,スマートフォン、Desktopを問わず、アプリ制作が好物。執筆は必要に応じて。お仕事くださいまし。

サイネージ:ガンダムフロント東京・キャラクターフォトスポット設計(2012/4~常設)

アトラクション:富士急ハイランド 戦国BASARA ゲーム設計&プログラミング(2010/7-2012/4にて常設展示)

イントラシステム:「某メーカー研究所KJ法システム」DB,Flash,PHPを含むソリューション設計&DB構築、「美術系専門学校の生徒管理システム」iPadクライアントを含むソリューション設計&DB構築

iPhone/iPadアプリ:某球団試合速報アプリ、『魂を熱くさせる 宇宙飛行士100の言葉』『Mitaka Gallery -てのひら宇宙-』

書籍同梱ソフト:『4次元デジタル宇宙紀行Mitaka』『DVD-ROM&図解 動く! 深海生物図鑑』『DVD-ROM&図解 ハッブル望遠鏡で見る宇宙の驚異』

著書:『世界一わかりやすい Windows 7』『世界一わかりやすい Flash CS3』

検索フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。