BREW(Binary Runtime Environment for Wireless) 11
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/06/04(木) 08:58:09■テンプレ
http://brew.s214.xrea.com/pukiwiki/
http://kintubo.kakiko.com/brew/
■前スレ
10 http://pc12.2ch.net/test/read.cgi/tech/1195449992/
■過去スレ
09 http://pc11.2ch.net/test/read.cgi/tech/1166675852/
08 http://pc8.2ch.net/test/read.cgi/tech/1147832791/
07 http://pc8.2ch.net/test/read.cgi/tech/1137502541/
06 http://pc8.2ch.net/test/read.cgi/tech/1126846736/
05 http://pc8.2ch.net/test/read.cgi/tech/1119056460/
04 http://pc8.2ch.net/test/read.cgi/tech/1111028365/
03 http://pc5.2ch.net/test/read.cgi/tech/1096006023/
02 http://pc5.2ch.net/test/read.cgi/tech/1076511398/
01 http://pc2.2ch.net/test/read.cgi/tech/1011078904/
関連情報>>2-10
0253デフォルトの名無しさん
2009/12/14(月) 18:10:08プログラミングガイドとガイドライン嫁、で解決だな。
質問自体が無意味だとわかると思う。
>>235 はそこまで理解できてれば問題ないよ。
0254デフォルトの名無しさん
2009/12/14(月) 21:26:13ICameraでカメラアプリ作ってるんですけど
シャッター音が鳴らないんですよね。。
撮影なんかはできるんですけど。
何か知ってる方いたら教えて下さい。
0255デフォルトの名無しさん
2009/12/14(月) 23:26:260256デフォルトの名無しさん
2009/12/15(火) 22:15:59ありがとうございます。
0257デフォルトの名無しさん
2009/12/15(火) 22:22:45シャッター音の仕様に限らずカメラ周りは恐ろしく面倒だった記憶があるので
開発前に関連ドキュメント一通り読むべき。
0258デフォルトの名無しさん
2009/12/16(水) 14:53:51たった今発生した。
BREW3.1用のプロジェクトをそのまま4.0にもってって
.vcproj等書き換えて実行してみたら、色々あった挙句に266になった。
ともあれmifと同じフォルダにエミュが作成したようわからんフォルダを
諸々削除したら解決した。
0259デフォルトの名無しさん
2009/12/16(水) 17:07:07mjk、thx。
今はもう違うプロジェクト作成してやり直したからアレだけど
もし今度同じような現象が発生したら参考にさせて頂きまつ。
話は変わりますが、BREWアプリを実機にあげた後に
modとか入れてるフォルダの中身は普通に削除できるのに
何故かmifディレクトリの中身のファイルが削除できないんですが
同じような現象になった事のある人居ます?
自作アプリは何故かケータイのメニューから削除できないしorz
0260デフォルトの名無しさん
2009/12/16(水) 17:27:31アプリメニュー表示しなけりゃ削除できる。
一度でも表示したら携帯再起動。
0261デフォルトの名無しさん
2009/12/17(木) 12:10:46環境はGNUARM4.1.1。
結果、通常のmodは 4.0/3.1ともOK。
mod圧縮は 4.0 NG。 一方ダメならやっても意味なしなので3.1は試してない。
グローバル変数、仮想関数は未圧縮であれば利用可能。
ただ例外が使えない→stdも使えないってのが痛い。
RVCT買うだけで圧縮も例外もstdも使えるんなら悪くないなぁ。
0262デフォルトの名無しさん
2009/12/17(木) 21:54:35できれば何か手がかりがあるかもしれない。elf2modはELFからセクション情報とか
削ってるだけだから。
でも面倒だからやってない。RVCTもってるとわざわざやる気になれない・・・
>>261
圧縮はそのままで動くっぽいが、例外は少々手を加えないと動かないよ。
std(STLのことか?)は・・・例外使える状態ならRVCT付属のは動くとは思うけど、
メモリ効率とか考えると多少手を加えた方が無難だと思われる。
0263261
2009/12/18(金) 10:38:02あ・・・前の会社のELF残ってる!
セクションとかよく解らんレベルで正直辛いけどやってみるかな。
RVCT3.0の例外に関しては以前の会社で確認してるんだ。
あとmelpon日記に例外からboostまで移植したソースもあるっぽいし。
とか書くとまた本人釣られるかなw
おーい鯖落ちてるぞー
じゃなくて勉強させてもらってますありがとう。
0264デフォルトの名無しさん
2009/12/18(金) 21:41:49いくらゲームアプリを作っている底辺だからといって、
最低限のものを失ったら人間としておしまいだぞ、まったくしょーがねーなー。
0265デフォルトの名無しさん
2009/12/18(金) 23:09:550266デフォルトの名無しさん
2009/12/18(金) 23:48:40別に今の会社に前の会社のソースコードを公開すると言ってるわけでもないし、
いちプログラマーとしてGNUARMとRVCTのELFファイルの違いを解析するのに
何の問題があるのか、こっちが知りたいわ。
っていうか>>264と>>265はELFファイルが何なのか分かってる?
0267デフォルトの名無しさん
2009/12/18(金) 23:54:37おまえは退職した会社から知的資産を持ち出してんだよ。
再利用できないからいいとか、なんでそんな話になるんだよ。
0268デフォルトの名無しさん
2009/12/18(金) 23:56:090269デフォルトの名無しさん
2009/12/18(金) 23:56:270270デフォルトの名無しさん
2009/12/19(土) 00:00:03ELFから元の処理割り出せるか。そう考えるとソースコード持ち出しと変わらん気がするな。
まぁそれでも、コード(とELFファイル)を別会社に公開したりしない限りは大丈夫だろ。
そりゃリソースの持ち出しって点で厳密にいえば契約違反の可能性はあるけどさ、そこは
空気読もうぜ・・・
0271デフォルトの名無しさん
2009/12/19(土) 00:07:23ホント、底辺ゲームプログラマってやだな。
0272デフォルトの名無しさん
2009/12/19(土) 10:46:360273デフォルトの名無しさん
2009/12/22(火) 11:49:410274デフォルトの名無しさん
2009/12/22(火) 11:50:140275デフォルトの名無しさん
2009/12/23(水) 19:32:10#ifdef _DEBUG
#define TRACE DBGPRINTF
#else
#define TRACE
#endif
現状は上記のように実装していますが、ログOFF時にARMで下記Warningが出てし
まいます。
Warning: C2917W: no side effect in void context:
過去ログをみていくつか見つけましたが、他にいい解決方法ありませんか?
#ifdef _DEBUG
#define TRACE(...) DBGPRINTF(__VA_ARGS__)
#else
#define TRACE(...) /* nop */
#endif
⇒VC2003で使えない
#ifdef _DEBUG
#define TRACE DBGPRINTF
#else
#define TRACE if(0)DBGPRINTF
#endif
⇒VC2003(警告レベル4)で条件式が定数とのWarningが出る。ARMでは未確認
#ifndef _DEBUG
#undef DBGPRINTF
#define DBGPRINTF
#endif
#define TRACE DBGPRINTF
⇒結局Warningは出る。
0276デフォルトの名無しさん
2009/12/24(木) 03:50:54VC時は常にON、実機コンパイル時はWarning出ない方法で実装、とか。
0277デフォルトの名無しさん
2009/12/25(金) 17:01:25#ifdef _DEBUG
#define TRACE DBGPRINTF
#else
#define TRACE (void)
#endif
0278デフォルトの名無しさん
2010/01/05(火) 15:55:490279デフォルトの名無しさん
2010/01/09(土) 16:41:55.net by au の話題はここでよろしいでしょうか?
0280デフォルトの名無しさん
2010/01/10(日) 02:58:360281デフォルトの名無しさん
2010/01/20(水) 16:39:51SETAEERECTで値をセットした後に、IMEDIA_SetRectを呼ぶと
EBADSTATEが返ってくる。なんでだよ。
SETAEERECTの第3引数と第4引数を0にしてるのに
0282デフォルトの名無しさん
2010/01/26(火) 15:04:430283デフォルトの名無しさん
2010/01/26(火) 15:18:240284デフォルトの名無しさん
2010/01/26(火) 15:44:150285デフォルトの名無しさん
2010/01/26(火) 21:27:120286デフォルトの名無しさん
2010/01/27(水) 02:49:550287デフォルトの名無しさん
2010/02/03(水) 16:55:33元々gccで動作していた画像を表示するだけの俺々フレームワークを、
RVCT向けに若干手直ししたのですが、動作してくれないもので困っています。
コンパイラ/リンカオプションは下記と同じ。
ttp://d.hatena.ne.jp/melpon/20090424
AEEClsCreateInstance() 直後のDBGPRINTFからも何も出力されず、
何処が問題かわかりません。
最終的にはSTLとboostを使用するつもりで上記サイトのオプションを使用していますが、
現在のプログラムはそれ以前の(例外未使用、STLも使っていない)状態です。
mifやsigはgccで動作確認していますので問題ないと思うのですが、
どのあたりが怪しいかアドバイスお願いします。
0288287
2010/02/03(水) 17:38:34コンパイラオプションに --split_sections を追加したら動作しました。
0289デフォルトの名無しさん
2010/02/03(水) 18:46:16例外、STL、boost::shared_ptr 動作おk!
0290デフォルトの名無しさん
2010/02/03(水) 19:28:07サイズは?
0291289
2010/02/03(水) 20:08:57画像読み込み&表示するだけの素のフレームワークが16KB。
string 1行と例外追加したら37KBでギョッとしたけど、
その後 vector、iterator、stack、map、deque、shared_ptr を使用して、
リソースダウンロード〜パース、表示するトコまで書いて56KB。
gz圧縮後28KB。
十分使えそう。
0292デフォルトの名無しさん
2010/02/06(土) 13:42:080293デフォルトの名無しさん
2010/02/06(土) 14:16:270294デフォルトの名無しさん
2010/02/12(金) 00:03:34ぶつかっています。実機上の動作を見ると、コンストラクタが呼ばれて
いないようです。new と同時にコンストラクタがちゃんと動くように
するためには、何か処理が必要なのでしょうか?
__rt_lib_init() を呼んだり、__cpp_initialize__aeabi_() を呼んだり、
リンクオプションに --ref_cpp_init や --cppinit=__cpp_initialize__aeabi_
をつけたりと、試行錯誤しているのですが、問題が解決しません。
"C++ ABI for the ARM Architecture" という文書の "3.2.2.3 Library
helper functions" に、"Compilers are not required to use these
helper functions but runtime libraries must supply them" という
記述があるのですが、それが関係していたりしますか?(必要なヘルパー
関数のリンクに失敗しているとか?)
0295294
2010/02/12(金) 00:04:58あと、関係するのかどうか分かりませんが、私のソースで仮想デストラクタを
使用しているのと、リンクしなければならない外部ライブラリが浮動小数点
演算を F??? マクロを使わずにやっている、との理由により、そのままだと
libspace.o がリンクされてしまうので、下記のような対処をして libspace.o
がリンクされないようにしています。これも何か影響ありますでしょうか?
(というかこの対処が正しいという確信もないのですが・・・)
■ 対処1
次の3つの関数を定義。AEEApplet 構造体内に確保した __USER_LIBSPACE_SIZE
(rt_misc.h) サイズの領域へのポインタを返すように実装する。
__user_libspace()
__user_perproc_libspace()
__user_perthread_libspace()
0296294
2010/02/12(金) 00:05:53上記の関数がリンク時に unused セクションとして削除されないように、
--keep オプションを armlink に指定する。
--- ソースコード ---
// 生成するコード群にセクション名を付ける。
#pragma arm section code="my_code", rodata="my_rodata", rwdata="my_rwdata", zidata="my_zidata"
// ARM コードの生成を強制する。
#pragma arm
void *__user_libspace(void) { ... }
void *__user_perproc_libspace(void) { ... }
void *__user_perthread_libspace(void) { ... }
--- リンク時 ---
"--keep my.o(my_*)" オプションを付ける。
■ 対処3
仮想デストラクタを使用すると kernel.o から main が参照されてしまう
ようなのと、#pragma import(__use_no_semihosting) をするとセミホス
ティング関数を使用すると文句を言われてしまうので、下記の関数を
(ほぼ内容は空で)実装をする。
int main(void);
void __main(void);
void __rt_raise(int signal, int type);
__user_initial_stackheap(unsigned /*R0*/, unsigned /*SP*/,
unsigned /*R2*/, unsigned /*SL*/)
■ 対処4
念のため、malloc(), free(), atexit(), getenv() なども実装しておく。
0297デフォルトの名無しさん
2010/02/13(土) 01:10:170298294
2010/02/13(土) 01:48:04ファイルをMODファイルに変換することにより、問題は解決しました。
グローバル変数やクラス変数を一切使わないようにコーディングして
いたので、fromelfで大丈夫かと思っていましたが、仮想関数を使って
いたので、elf2modを使わないとだめでした。これはFAQレベルの問題
でしたね。お騒がせしてすみませんでした。
ちなみに、「コンストラクタが呼ばれない」というのは勘違いでした。
__rt_lib_init()や__cpp_initialize_aeabi_()の呼び出しや、
--ref_cpp_initや--cppinitオプション等も不要でした。
0299デフォルトの名無しさん
2010/02/15(月) 15:47:28IWebとIWebRespの参照カウントおかしくない?
同期してるみたいでIWEB_GetResponseコール後にどっちも2になってる。
wikiのSAFE_SHELL_RELEASEを参照カウントに応じてnull埋めするように直したら
IWebRespの開放周りでエミュが落ちるようになったぞ(´・ω・`)
void SAFE_SHELL_RELEASE(void*& p){
if (p != NULL) {
if( IBASE_Release((IBase*)p) == 0 ) {
p = NULL;
}
}
}
0300デフォルトの名無しさん
2010/02/15(月) 18:31:10あほかー。何のための null 埋めなのか理解していない証拠だぞ。
BREW のシステムで参照カウントを増加させる場合もあるから、
こっちはカウントなんて気にせず必要無いものを Release していけばいい。
0301デフォルトの名無しさん
2010/02/15(月) 19:25:55ん〜〜〜・・。
ピコーン(AAry
ゴメン。何か勘違いしていた。
AddRef使ってて299の処理じゃないと困るなーと思ってた部分も
wikiのソースで上手く動いた。
お騒がせしました。
0302デフォルトの名無しさん
2010/02/17(水) 22:58:07ライフサイクルが親と違う非同期部分が、依存している親インスタンスの
参照カウンタを、自分の動作完了まで保持するために増分していることが
ありますので、IQI_Release()はISHELL_CreateInstance()/IQI_AddRef()
を呼び出した回数だけ呼び出し、実際にインスタンスがリリースされたかは
確認しないで下さい。
と、中の人みたいに言って見るw
参照カウンタが2増えたり、逆に増加・減少しないやつって、結構あるよ。
0303デフォルトの名無しさん
2010/02/17(水) 23:40:01ユーザーは普通気にしなくていい、というか見るべきではない変数。
リソースリーク検出された時でもRelease回数足りてるかチェックするだけで
参照カウントが0になったかどうかは見ない。
0304デフォルトの名無しさん
2010/02/18(木) 12:19:57とは言え 〜_AddRef やら 〜_Releaseやらの戻り値で普通に返ってくるぞ。
0305デフォルトの名無しさん
2010/02/18(木) 13:42:250306デフォルトの名無しさん
2010/02/18(木) 14:10:01毎日 おもしろい イェイ イェイ
はちみつきんかんのど飴♪
0307デフォルトの名無しさん
2010/02/18(木) 20:08:44Release は 0 を返したあとの Release が未定義動作なだけで、他はどんな値を返してもよかったはず。
だから、
uint32 AddRef() { return 1; }
uint32 Release() { return 2; }
とかいう実装にするのも COM ではあり(実際よく使われてる)。
BREW で正しいのかどうかは知らない。
0308デフォルトの名無しさん
2010/02/18(木) 22:16:410309デフォルトの名無しさん
2010/02/18(木) 23:13:15まあリファレンスカウントは見ないにこしたことはない
0310デフォルトの名無しさん
2010/02/18(木) 23:23:48C言語は知ってるんだけど…
0311デフォルトの名無しさん
2010/02/18(木) 23:56:580312デフォルトの名無しさん
2010/02/19(金) 00:00:42話はそれからだ
0313デフォルトの名無しさん
2010/02/20(土) 06:42:07http://www.s-cradle.com/developer/index.html
http://www.brewjapan.com/
http://brew.qualcomm.com/brew/ja/
この辺りを読むといいよ。
0314デフォルトの名無しさん
2010/02/20(土) 12:42:530315デフォルトの名無しさん
2010/02/20(土) 12:53:320316デフォルトの名無しさん
2010/02/20(土) 16:42:46A.無理です。作成に必要なSDKをダウンロードする事すら一般人は出来ないようになっています。
Q.個人的に作成したBREWアプリのボクの携帯電話に入れたいです><
A.無理です。一般人が個人的に作成したアプリは携帯電話に移すことは出来ません。
Q.ボクもBREWでアプリを作って配信したいです><
A.無理です。KDDIは企業にのみBREW配信を許しており、個人での配信は不可能です。
Q.BREWアプリを扱う企業に入れて欲しいです><
A.無理です。今後BREWが発展する見込みは無く衰退するだけです。
今後BREW開発を行う人員は全て経験者で埋まっています。
0317デフォルトの名無しさん
2010/02/20(土) 21:26:440318デフォルトの名無しさん
2010/02/20(土) 22:39:25カメラ付き携帯にしろ、パケ定額にしろ、
他所で評価されたサービスをそのままパクって来たわけだが、
それが携帯端末自体に及んでしまったから仕方ないと言えば仕方ないが。
0319デフォルトの名無しさん
2010/02/21(日) 02:29:170320デフォルトの名無しさん
2010/02/22(月) 22:48:300321デフォルトの名無しさん
2010/02/23(火) 09:15:50嘘です><
0322デフォルトの名無しさん
2010/02/23(火) 21:52:320323デフォルトの名無しさん
2010/02/23(火) 22:29:310324デフォルトの名無しさん
2010/02/23(火) 22:53:300325デフォルトの名無しさん
2010/02/23(火) 23:20:15できるもんならやってみろ
0326デフォルトの名無しさん
2010/02/24(水) 01:09:07馬鹿丸出しだよ。
0327デフォルトの名無しさん
2010/02/24(水) 14:40:53シミュレータでしか動かせないからあまり意味はないと思うが、
とりあえず何か別のものと勘違いしてないか
0328デフォルトの名無しさん
2010/02/24(水) 21:37:10とりあえず何か別のものと勘違いしてないか
0329デフォルトの名無しさん
2010/02/25(木) 00:55:470330デフォルトの名無しさん
2010/02/25(木) 05:32:024.0は登録だけでは落とせなかった。
まぁ、仕事でだから依頼元に頼んでもらった。
0331デフォルトの名無しさん
2010/02/25(木) 21:34:26だからゲーム屋ってやなんだよ。だらしねーんだよ、仕事が。
0332デフォルトの名無しさん
2010/02/25(木) 22:22:26あったらオワットル
0333デフォルトの名無しさん
2010/02/26(金) 00:27:16IT系全般がコスト意識も糞も無い状況だったでござる。
0334デフォルトの名無しさん
2010/02/26(金) 11:44:330335デフォルトの名無しさん
2010/02/26(金) 22:37:08いまどきBREWなんてやってる人は殆ど居ないんだから。
0336デフォルトの名無しさん
2010/03/02(火) 21:05:000337デフォルトの名無しさん
2010/03/07(日) 15:33:124.0Brewシミュレータで特定の機種のシミュレートは可能でしょうか。
たとえばCA001の画面サイズなどをシミュレートしたければ
どうすればいいのでしょうか。
せめて画面サイズを現行機種の様に大きくするにはどうしたらいいのでしょうか?
よろしくお願いします。
0338デフォルトの名無しさん
2010/03/07(日) 16:32:32スピスにおいてあるじゃなかったか?
0339デフォルトの名無しさん
2010/03/08(月) 00:26:320340デフォルトの名無しさん
2010/03/08(月) 00:43:49スピセだろ?
0341デフォルトの名無しさん
2010/03/16(火) 02:02:36だからゲームプログラマってやなんだよ…
0342デフォルトの名無しさん
2010/03/16(火) 21:36:580343デフォルトの名無しさん
2010/03/20(土) 22:53:01ほんと、あいつらとはかかわりたくない。
0344デフォルトの名無しさん
2010/03/20(土) 23:16:17でも、プログラマーに人格障害者が多いのはかなり鉄板w
0345デフォルトの名無しさん
2010/03/20(土) 23:18:140346デフォルトの名無しさん
2010/03/21(日) 05:47:250347デフォルトの名無しさん
2010/03/21(日) 11:59:030348デフォルトの名無しさん
2010/03/21(日) 18:06:020349デフォルトの名無しさん
2010/03/21(日) 21:15:31奴隷同士を戦わせる事に成功したから
日本のITはぎじゅちゅしゃを安値で使役出来たんだけどなw
0350デフォルトの名無しさん
2010/03/22(月) 19:42:350351デフォルトの名無しさん
2010/03/31(水) 18:26:13・elf2mod使用
・gnude(GCC3.3.1 )
・BREW4.0
・機種「CA001」
・グローバル変数あり
仕事でmod圧縮が必要になったので
上の条件で圧縮を行ってみた所
1回目はほぼOK(たまに起動せず落ちる)
2回目以降はNG(こっちは絶対落ちます)
つまり、modとmod.binを新しく入れ直すと1回だけ起動する
という状況になったのですがこういう物なのでしょうか?
以前、グローバル変数を使用していると駄目という書き込みは見ましたが
そこが問題なのであれば一度も起動できないのでは?と思うのですが・・・
知ってる方いらっしゃいましたらお教えて下さい><
0352デフォルトの名無しさん
2010/04/01(木) 14:51:31たまたま転送直後はグローバル変数の使用領域と
偶然使えるヒープ領域が一致してただけでしょ。
OS側だってヒープの確保、開放をしてるんだし毎度同じと思う方がおかしい。
RVCTの方で圧縮後も動くのは、
グローバル変数が使用するヒープ領域を初期化する処理が、
圧縮後も上手く動くから。
GCCの方はその辺すっ飛ばしちゃうのが問題なんだけど、
このあたり対応する手段を検討してるあいだにRVCT買う事になって
その後はもう調べてない。
■ このスレッドは過去ログ倉庫に格納されています