[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 09:27 / Filesize : 284 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

BREW(Binary Runtime Environment for Wireless) 3



1 名前:デフォルトの名無しさん mailto:sage [04/09/24 15:07:03]
BREW(Binary Runtime Environment for Wireless)についてのスレ

QUALCOMM BREWホーム
www.qualcomm.com/brew/ja/
www.qualcomm.com/brew/

BREW JAPAN .COM|BREW増強計画
www.brewjapan.com/

前スレ
pc5.2ch.net/test/read.cgi/tech/1076511398/
関連情報>>2-18

■過去スレ
02 pc5.2ch.net/test/read.cgi/tech/1076511398/
01 pc2.2ch.net/test/read.cgi/tech/1011078904/


413 名前:デフォルトの名無しさん mailto:sage [04/12/04 03:24:58]
>>410
ヘルプを読むと、GETFSFREE()、GETRAMFREE() も使えるのかも?
BREW 2.1 以降だし、使ったことないけど。

>>412
1、問題外。
2、IDISPLAY_SetDestination() を使用すれば文字も描画できるのでは?
3、シーン毎っちゅーのが分からんが、漏れならこっちでやるなあ。
4、砂時計が描画される部分だけ描画時毎に保存して...(w

414 名前:412 mailto:sage [04/12/04 07:52:31]
>>413
>2、IDISPLAY_SetDestination() を使用すれば文字も描画できるのでは?
それはそうなのだが、デバイスビットマップを入れ替えるとクリッピングや透過色の指定が
クリアされるので、それらを使っていると面倒なことになる。
また、タイミング悪く、入れ替えてる間に砂時計が描かれてしまうこともあり得る。<考え過ぎか?
何とかIDISPLAY_SetDestination()を使わない方法を考えているがうまくいかなくて…

>3、シーン毎っちゅーのが分からんが
ステージ開始したとき、クリアしたとき、ゲームオーバーになったとき、など、
描画内容が大きく変わる区切りを指す。説明不足スマン。
これは確かな方法だと思うが、上記シーンごとに画面復元の処理を入れていくことになり、
作業量が増えるのでちょっと躊躇ってる。<ヨワッ でもやはりこの方法なのかな。

>4、砂時計が描画される部分だけ描画時毎に保存して
砂時計が描かれてからEVT_APP_SUSPENDが通知されるので、そのときには
砂時計が描かれた状態を保存してしまっていて結局ダメで…

413さんthx. 他の方のアドバイスもいただきたいです。

415 名前:デフォルトの名無しさん mailto:sage [04/12/04 15:22:45]
>>412
漏れは2の方法で復帰させてる。てか1と2の複合か。
(ゲームじゃないが、画面全体が頻繁にスクロールが発生するアプリでスクロール分を差分描画)

1.IDISPLAY_SetDestination()でオフスクリーンを指定
2.クリッピング、描画など
3.IDISPLAY_SetDestination()でディスプレイを指定
4.オフスクリーンをディスプレイに描画
5.IDISPLAY_UpdateEx()で画面更新

の繰り返しで。
砂時計はディスプレイに描画されるので、オフスクリーンの方は大丈夫。
結局毎回画面全体を更新している訳だけど、DDBの上書きだけなら結構な速度が出るよ。
S5505SAで約20フレーム確認。それ以上は試す必要なかったんで計ってない。スマソ


416 名前:413 mailto:sage [04/12/04 16:46:29]
>>414
4. は、412 氏が上手くできなかった SUSPEND 時保存の改善案。

(1) アプリ側の描画時に砂時計がでるはずの部分だけ保存
(2) SUSPEND 時で全画面保存
(3) RESUME 時に (2) で保存したものを描画
(4) 同じく RESUME で (1) で保存したものを (3) に上書き

問題は、各機種毎に砂時計の出る位置やサイズが違う気がする
ってことかなあ?…速度的には悪くないと思うけど。

417 名前:412 mailto:sage [04/12/04 19:10:18]
415氏、416=413氏、具体的な内容で参考になりました。助かります。
>>413の2番をふまえて>>415の方向で考えてみます。

変に考えが凝り固まっててオレの頭がサスペンド中ってオチなのか…

418 名前:デフォルトの名無しさん [04/12/05 21:55:19]
透過処理とかの絡みでDDBitmapを直接弄ってるけど遅い。
asmで書き直してる人とか多い?

419 名前:デフォルトの名無しさん [04/12/06 12:29:56]
みんな頑張れよ

ttp://next.rikunabi.com/tech/docs/ct_s03100.jsp?p=lw1061&f=impress&__m=1

420 名前:デフォルトの名無しさん mailto:sage [04/12/06 17:46:23]
EVT_APP_NO_SLEEPから復帰するタイミングを見たいときは
何をチェックしたらいいんでしょうか?


EVT_APP_RESUMEやEVT_APP_STARTではないみたいだし・・・。

421 名前:デフォルトの名無しさん [04/12/07 18:42:33]
サウンドでspfファイル使ってる人いる〜?



422 名前:デフォルトの名無しさん [04/12/07 18:51:10]
>>421

てか、それしかサウンド使ったことない・・・。

423 名前:デフォルトの名無しさん [04/12/07 20:42:13]
qcp使ってる

424 名前:デフォルトの名無しさん mailto:sage [04/12/07 20:53:17]
移植性とか考えると音はやっぱSPFの四音同時が妥当なのかね。
日本の端末じゃMIDI+QCP×4とか出来ないようだし…。

どうやってますよ?オマイラ

425 名前:デフォルトの名無しさん [04/12/07 22:56:12]
着うたフル

426 名前:デフォルトの名無しさん [04/12/08 10:18:13]
>>425
BREW2.0端末で200kb
2.1で300kbじゃなかったか?

427 名前:デフォルトの名無しさん mailto:sage [04/12/08 20:06:50]
エミュレータでは問題なく動いてるアプリが
実機でいきなりMemory Accessで落ちるんですけど
原因って何でしょう?

処理を全部コメントにしてreturnしていても
場所によってエラーになるんですが。。

428 名前:デフォルトの名無しさん mailto:sage [04/12/08 22:31:22]
>>427
奇数番地をまたいでのwardアクセスとかじゃないか?

429 名前:デフォルトの名無しさん [04/12/08 23:35:19]
タイムクライシスで半透明やってるんだけどどうやってんですか!

430 名前:デフォルトの名無しさん mailto:sage [04/12/08 23:40:02]
>>427
ありがちなのが、ヒープ足りなくなってる状態でMALLOCとかが失敗しているのに
エラーチェックしないで書き込んでるとか、ポインタ操作をミスってるとか。
あと、実機用はmakefileで、すべての依存関係が記述できているとは限らないか
らクリーンしてみると挙動が変わったりすることもある。

ちなみに実機でしか再現しないリセット系エラーを追及するには、ログをファイ
ルに吐くような手を使わないとダメです。
#DBGPRINTFなんかはバッファされるのであてにならない

431 名前:デフォルトの名無しさん [04/12/09 01:12:14]
IShell_CreateInstance()関数を使ってINetMgrのインスタンスのインスタンス
を生成しても戻り値がSUCCESSとならないんですが、どんな原因が考えられます
か?コンパイルはできます。ちなみに
IShell_CreateInstance(pMe->m_applet.m_pIShell, AEECLSID_NET, (void**) &app->pINetMgr)
という感じにしてます。








432 名前:デフォルトの名無しさん mailto:sage [04/12/09 03:09:57]
>>431
とりあえずMIFは?

433 名前:427 mailto:sage [04/12/09 11:11:31]
>>428
初歩的質問でもうしわけないのですが
奇数番地をまたいでのwardアクセスってなんでしょう。。。

>>430
ヒープは残っててMALLOCの戻り値もチェックしてます。
クリーンしてみたのですが変わらず。。

434 名前:デフォルトの名無しさん mailto:saga [04/12/09 11:57:09]
デバッガについて質問です。
エミュレーター上でVC++のデバッガーを使いたいと思い
ttp://www.s-cradle.com/developer/technicalqas/tqbr/index.html#q0049
に書かれている方法を試したのですが
'(パス)\BREW_Emulator.exe'にはデバッグ情報がありません。続行する場合は[OK]を押してください。
というメッセージボックスが表示されてしまい、続いて
1つ以上のブレークポイントが設定できませんでした。これらのブレークポイントは無効です。実行プログラムはプログラムの始めで停止します。
というメッセージボックスが表示され、デバッグできません。
プロジェクト(P) -> 設定(S) -> リンク - カテゴリ - 一般 のデバッグ情報を生成する(G) にはチェックが入っています。
どうしたらステップ実行等が可能になりますか?
環境はVisual C++ 6.0 BREW SDK 2.1.1jです。
宜しくお願いします。

435 名前:デフォルトの名無しさん [04/12/09 12:49:19]
>>434
プロジェクト→設定→デバッグでデバッグセクション実行可能ファイルに
エミュ.exeを入れればおk


あと質問なのですが
みなさんリソースファイルに埋め込んだ音声ファイルは
どのようにして再生してますか?

436 名前:デフォルトの名無しさん mailto:sage [04/12/09 14:51:41]
>>433
wardはwordの書き間違いでそ。

アライメントの問題。バイト(8bit)アクセスならどんな
アドレスでもアクセスできるけど、ハーフワード(16bit)は
2の倍数、ワード(32bit)は4の倍数のアドレスでしかアクセス
できない。
ARMはこれを間違えると例外が発生する。x86はアライメント
気にしないでも処理は一応動く。
# ちなみに、ARMでも例外発生しないものもある

437 名前:427 mailto:sage [04/12/09 17:09:49]
うーむ。
メモリまわりは全く知識が無いのでチンプンカンプンです。。
いま途中まで動いてる部分はまぐれっぽいですね。

大変そうだ

438 名前:デフォルトの名無しさん mailto:sage [04/12/09 17:34:32]
>>437
アライメントと決まったわけじゃないしな。
単純にメモリ壊しているだけかもしれん
アライメント問題はこんな感じ

----
uint16 buf1[10];

uint8 *p1 = (uint8 *)buf1; *p1 = 0;
p1にアクセスするのはOK

uint16 *p2 = buf1; *p2 = 0;
p2にアクセスするのはOK
----
uint8 buf2[10];

uint8 *1 = buf2; *p1 = 0;
p1にアクセスするのはOK

uint16 *p2 = (uint16 *)buf2; *p2 = 0;
p2にアクセスするのはNG★

例え動いたとしても、偶然buf2が2の倍数のアドレスに
配置されてたってだけ
コレをやりたい場合は、アドレス調べてうまくいくよう
自分の処理を調整するか、_packed、PACKEDとかでコン
パイラに教えてあげる必要がある


439 名前:デフォルトの名無しさん mailto:sage [04/12/09 23:59:42]
>>431
MIF ファイルに権限がないとか良くありがちな罠。

440 名前:デフォルトの名無しさん mailto:sage [04/12/10 00:10:52]
てかメモリ周りわかんないでどうやってC書くんだ?

441 名前:デフォルトの名無しさん [04/12/10 03:15:29]
>>435
https://secsvr.net/brewjapan.com/tech/form.html
ここの「BREW Technical Tips」に載ってる
【リソースファイルにサウンドデータを格納するには】の
サンプルを参考にさせてもらってる。




442 名前:デフォルトの名無しさん mailto:sage [04/12/10 05:05:25]
427とそれへのレスを見て思ったのだが、
情報が足りてない質問に憶測で答えていても解決は遠いと思う。

「エミュレータで動いて実機でMemory Accessエラー、原因は何?」とか
「処理を全部コメントにしてreturnしていても場所によってエラーになる」とか
ソースを出さずに言われても意味不明。

エミュレータで期待通りの動作をして実機で動かないなら、ビルド環境の問題
かもしれないし。(←と、当てずっぽうになってしまうわけだ、情報が足りないと)

427はせめてその疑ってる付近のソースを(可能な範囲で)晒してみたり、
ARMかgccか、makefileはBREW Addinsの自動生成のか、自前で書いたものか、
とかの情報を出してみてはどうか。

443 名前:427 mailto:sage [04/12/13 11:47:48]
ごめんなさい解決しました。。。
なんと問題はフラグの初期化し忘れでした。情けない。
int型をとってTRUEかFALSEかで使ってた部分で落ちてました。

メモリについての知識もほとんどないので
難しいコードも組んでないし、メモリ周りのエラー起きないですよね。

皆様たいへん勉強になりました。
ありがとうございました。

444 名前:デフォルトの名無しさん mailto:sage [04/12/13 15:02:15]
なんか、ISocket での通信が妙に遅い(1kbpsとかしか出ない)んだけど、一回の送信データって何バイトぐらいが良いんだべか。
ちなみに今は、512バイト単位で送ってる。
au網のパケット長は128バイトだった気がしたが、ヘッダを除いた際の適正サイズがわからん。

buf = new byteBuffer(512);
socket->Write( buf.GetBuffer(), (short)buf.GetSize() );

445 名前:444 [04/12/13 15:08:33]
あぁ、サービスガイド見たら、1秒間での ISocket_Write() は2回までって書いてあるな。
普通に128バイトで送ったら2kbpsじゃん。

送信サイズでっかくして再挑戦してみま。

446 名前:デフォルトの名無しさん mailto:sage [04/12/13 15:10:08]
>>443
難しいコードが>>438で挙げてある程度のコードを指すのだとしたら、油断しすぎか経験
少なすぎ。Cである以上メモリ処理はついてまわるし(特に携帯みたいにヒープの少ない
環境だとね)、知識がほとんど無いとか言ってる場合じゃないかと。

>>434
「デバッグ情報がありません〜」のメッセージは出る。「次回から表示しない」のチェックを
入れてメッセージボックス自体を殺してしまってOKなはず(これはEmulator.exeのシンボル
ファイルが無い、という警告なので出て当たり前)。
あとはビルドがリリースモードになってないか確認。

447 名前:デフォルトの名無しさん mailto:sage [04/12/13 21:18:57]
サーバから落ちてくるpng画像を読み込む方法って、
一度ファイル名つけて保存→ISHELL_LoadImage() しかないかな?
今まで同一フォルダにプロジェクトと実行ファイルまとめてたんでメンドクサイ(ノД`)


448 名前:デフォルトの名無しさん [04/12/13 22:08:16]
>>447
IMemAStream 使えばいいんじゃないか?

449 名前:デフォルトの名無しさん mailto:sage [04/12/13 22:19:50]
>>448
お、使えそう! サンクス!!


450 名前:デフォルトの名無しさん mailto:sage [04/12/14 01:03:49]
久しくやってないのでうろ覚えだけどISourceをIAStreamに変換
できなかったっけ?
ISOURCEUTIL(間違ってるかも)とかで

451 名前:447=449 mailto:sage [04/12/14 02:09:28]
>>450 情報サンクス。
ダウンロード完了するまで待ってISourceからbyte配列にデータ格納するクラス作っちゃったんで、
IMemAStreamの方が都合よさそうです。
調査不足を痛感・・・頑張らんとなぁ



452 名前:435 [04/12/14 13:34:30]
>>441
遅くなりましたがありがとうございましたです。

453 名前:デフォルトの名無しさん [04/12/14 13:44:39]
もしかしてBREWってExtern使えないの!?

454 名前:デフォルトの名無しさん mailto:sage [04/12/14 14:57:39]
使えてるけど?extern

455 名前:デフォルトの名無しさん mailto:sage [04/12/14 21:03:51]
ところでしーばらくBREWから離れているんだけど、少しは環境よくなりました?

456 名前:デフォルトの名無しさん mailto:sage [04/12/14 22:25:30]
プロジェクトに美女が2名参加しました(゜∇゜)

457 名前:デフォルトの名無しさん mailto:sage [04/12/15 09:31:24]
>>456 うっぷ

458 名前:デフォルトの名無しさん mailto:sage [04/12/15 14:17:01]
>>456
それは幻覚の一種だ。
治し方は知らんが。

459 名前:デフォルトの名無しさん [04/12/15 16:27:16]
1000個程度の整数の定数表を格納したいのです。
staticな配列に初期時に格納できるばよいのですが、
BREWでは当然無理なことで、何かよいアイデアはないでしょうか?

460 名前:デフォルトの名無しさん mailto:sage [04/12/15 17:10:15]
IFILEMGR_Removeで失敗することあるのかな?
同名のファイルを上書きできないから、まず消さないといけないでしょ?
失敗したらどうすればいいんだ?

if (IFILEMGR_Remove(pMe->fileMgr, "test.txt") != SUCCESS) {}

461 名前:デフォルトの名無しさん mailto:sage [04/12/15 18:33:05]
>>459
ん? constな定数表なら普通にスタティック/グローバルに持てるよ。
変数は無理ぽだけど。



462 名前:デフォルトの名無しさん [04/12/15 18:41:32]
>>461
あ?確かに「global/static変数」と書いていました。
どうもありがとう。

463 名前:デフォルトの名無しさん mailto:sage [04/12/15 19:14:14]
>>460
>同名ファイルを上書きできない
いやできるんじゃないの?

IFile *pf = IFILEMGR_OpenFile(pMe->m_pIFileMgr, "hoge.bin", _OFM_READWRITE);
IFILE_Write(pf, data, sizeof(data));

OpenFileの時点でファイルポインタが先頭だからそこから書き込み。
200Byteのファイルに100Byteだけ書き込んで末尾を切り捨てたければ

IFILE_Truncate(pf, 100); // 100バイト以降を切り捨て

とかやってやればいいんでないの?

実際には、存在しないファイルを_OFM_READWRITEフラグで開こうとするとエラー返してくるから、そこから
_OFM_CREATEで作成試行してそれでも駄目ならファイルシステムエラーとして扱う、みたいな処理が必要
になるけど。

464 名前:デフォルトの名無しさん [04/12/15 23:29:34]
>>455
しばらくがどのくらいかしらないけどSDKのインストールは楽になったよ。
あいかわらずダウンロードはできないけど入力するのはメールアドレスのみ。

そんくらいかなぁ・・・

465 名前:CC名無したん mailto:sage [04/12/15 23:59:52]
>>463
同名ファイルの上書きはたぶんそれでできるね。
つーか、オレも_OFM_READWRITEで
きちんと上書きできるの確認したことある。


466 名前:デフォルトの名無しさん [04/12/16 01:14:47]
BREWのデータ個人の携帯に転送して俺アプリ作成したいんだけど、
やっぱ無理?ハックしてる人いない?いっしょにハックしてくれる人でもいいけど

467 名前:デフォルトの名無しさん mailto:sage [04/12/16 03:56:39]
無理

468 名前:デフォルトの名無しさん mailto:>>465 ほええ〜 sage [04/12/16 11:28:37]
>>460
ファイルをOpenしたままだとRemoveできないね。
まあこれはアプリの側で知ってるはずだからきちんと管理しる。

>>463
困るのはRenameで名前がかぶる時かな? そんなことするかどうかは別にして。

469 名前:デフォルトの名無しさん [04/12/16 12:58:21]
IHTMLVIEW で <table> を使用したことありますか?
エミュレータで実行すると無視されるようなので、
ひょっとすると使用できないのかもと思ったんだけど。

470 名前:デフォルトの名無しさん [04/12/16 13:10:52]
失礼 IHTMLVIEW -> IHTMLVIEWER です。

471 名前:デフォルトの名無しさん mailto:sage [04/12/16 15:36:47]
>>469
サービスガイド巻末に利用可能タグ一覧載ってるぞ。



472 名前:BREW男 [04/12/16 19:14:18]
BREW APIで、送受信メールデータにアクセスすることって可能ですか?

473 名前:BREW男 [04/12/16 19:16:25]
送受信メールを消去したいんですけど、誰か教えてくれませんか?


474 名前:BREW男 [04/12/16 19:18:41]
BREWから自動で一般電話回線に発信したいのですが、方法を知ってる方いらっしゃいますか。
質問ばかりですみませんが、よろしくです。

475 名前:デフォルトの名無しさん mailto:sage [04/12/16 19:42:54]
モチツケ

476 名前:デフォルトの名無しさん [04/12/16 20:14:42]
>>471
ほんとだ。<p>扱いだと。結局、使えないということか。
でも、たいへん役にたつ情報でした。サンクス。

477 名前:デフォルトの名無しさん mailto:sage [04/12/17 11:26:33]
>>472-474
まずリファレンスとかドキュメントをよく読め。


で、記憶の範囲だがメールフォルダにアクセスする手段は(KDDI拡張にも)無かったと思う。
通話発信はTAPIで可能だが、KDDIでは禁止していたようにも思う。
ってことで、以上をヒントにドキュメントで確認してくれ。

478 名前:デフォルトの名無しさん mailto:sage [04/12/18 23:11:45]
>>474
なんか犯罪の臭いがする…

479 名前:デフォルトの名無しさん [04/12/19 01:08:10]
sig生成ソフトだれかくれ

480 名前:sage mailto:sage [04/12/20 11:16:09]
新参者に2つほど教えてくれまいか。

・MSPとbrew-supportとCINのアカウントってそれぞれ申請しないといけないの?
MSPはあるんだけど他の2つはどうすればもらえるんだろう

・「端末試験モード設定兼解除申込書」ってのが欲しいんだけど、どこで手に入りますか?
駄目元でググって見たけどやっぱり駄目だった

481 名前:デフォルトの名無しさん mailto:sage [04/12/20 13:44:25]
質問です。
IMenuCtlで普通のメニュー(テキストアイテムが縦に並ぶやつ)を表示してる
んですが、タイトル表示しろといわれて表示したらセンタリングできない;;
なんかセンタリングする方法ってないですかね?



482 名前:デフォルトの名無しさん mailto:sage [04/12/20 15:27:19]
>>481
メニューコントロールなんぞ使わずに自力で作れば?
って思うんだが…

みんなIMenuCtrlとかITextCtrl使ってるモンなの?
漏れは全く使ってない。
テキスト入力が必要なところは全部HTMLだからってのもあるけど。


483 名前:デフォルトの名無しさん [04/12/20 20:13:01]
作ろうと思うんだけどめんどくさいからとりあえずBREWで用意されてるの使ってるのが俺。
たしかに俺も、あんなの使うなら自作した方が全然マシだと思う。w

484 名前:デフォルトの名無しさん mailto:sage [04/12/21 09:37:15]
>>480
「端末試験モード設定兼解除申込書」…ウチはKDDIの営業からもらったべ

485 名前:sage mailto:sage [04/12/21 13:17:47]
>>484
申込書は貰えましたです。
でもクアルコムIDがまだという罠。
時間掛かるのかな。年明けそう orz


486 名前:デフォルトの名無しさん mailto:sage [04/12/21 16:57:16]
>>482
主に海外向けなのもあって、標準的UIを極力使えというお達しなんだよね。
メニューとかの見栄えって端末によって結構違うから自前で作ると他のアプリとの
整合がどうのこうのと・・・
#外人は日本人の基準からは考えられないほどの○○が多いらしい
まあタイトル部分だけ自分で書いても良いんだが。

とりあえず現状は(トライアル版的位置づけだし)左詰で我慢してもらおう。

487 名前:デフォルトの名無しさん mailto:sage [04/12/21 18:16:38]
日本では「うげー」と思われてても、海外のプロポーショナルフォントの端末で
カコイイ文字で見ると「イイ!」っていうケースもあるしね。Series60 の UI とか。

488 名前:デフォルトの名無しさん [04/12/21 19:17:16]
BRIファイルをダウンロードして書き換えちゃダメなのかな。

489 名前:デフォルトの名無しさん [04/12/21 19:19:22]
>>448
Barでした

490 名前:デフォルトの名無しさん [04/12/21 21:00:14]
ITextCtl使わない場合、カーソルとかどうしてるんですか?
漏れも、入力コントロールを使わねばならん場面があるんですが、
ITextCtlだと背景色とか変えられないから、フォーカスがどこに
あるのか見にくいので、画像はっつけてその上にフレームなしの
ITextCtlおいてみたりしたんですが、どうもイマイチ・・・

エミュだとスモールフォント使えないから、見栄えの確認ができ
ないのも辛いね。


491 名前:デフォルトの名無しさん [04/12/22 00:43:59]
売り物のクロスコンパイラ買うのなんかいやなので、っていうか5ライセンス
買う予算下りなかった。
 なのでARM用にgccのクロスコンパイラ構築したいのですがみなさんなんか
ナイスなノウハウ持ってませんか?たぶんARMでも3種類チップ使い分けられて
いるので、1個環境作って終わりーとかならないと踏んでいます。



492 名前:名無しさん [04/12/22 11:27:22]
gccでは実機では動かせなかった。
Cで絵を一枚表示する程度の簡単なプログラムなら動いたのだが。
実際に必要なのはC++(javaからの移植だから)で、こっちはどうやってもだめ
だった。
プログラムの起動もしない。

使ったのはこれ
sourceforge.net/projects/gnude/


493 名前:デフォルトの名無しさん mailto:sage [04/12/22 15:13:39]
>>491-492
公式見れ。

・・・と書こうと思ったが、なんか公式フォーラムトップしかアクセスできないな。
結論から言うと、GNUDEで(C++も)できる。
一部ヘッダファイルの修正とmakefile自前生成が必要なだけ。
makefileのサンプルもヘッダファイルの修正についてもフォーラムにあるので復旧したら見てくれ。

ただ、GCCでやるとmodサイズがarmよりかなりでかくなる=ヒープもその分消費するので注意。
速度はほとんど同じかGCCのほうが早いくらい。

494 名前:デフォルトの名無しさん mailto:sage [04/12/22 15:18:46]
あ、フォーラム接続できた。
brewforums.qualcomm.com/ja/showthread.php?s=&threadid=97
がmakefile等の上がっている記事。
brewforums.qualcomm.com/ja/showthread.php?s=&threadid=75
がヘッダファイルの修正方法。

この辺はテンプレに入れといたほうが良いかもね〜

495 名前:名無しさん mailto:sage [04/12/22 15:58:22]
>>493
実機で動かしてみた?
C++では動かなかったよ。
Hello worldレベルなら動くんだけどね。


496 名前:デフォルトの名無しさん [04/12/22 17:36:49]
gnudeでbuild出来るもんなら、実機でも動かせる。
俺のところは、gcc(gnude)でテストして、gnudeで出荷しとるよ。

497 名前:デフォルトの名無しさん mailto:sage [04/12/22 17:59:07]
>>495
うちとこは商用レベルのものをGNUDEで動かしております。
勿論実機動作確認済み。

しかし.modのサイズが増えるのはいかんともしがたい…早くARMコンパイラください o rz

498 名前:名無しさん mailto:sage [04/12/22 18:52:30]
>>496,497
C++ですか?
当方のテストはCだと動くけど、C++はだめ。


499 名前:496 mailto:sage [04/12/22 19:16:13]
C++だよ

500 名前:497 mailto:sage [04/12/22 21:43:50]
同じくC++。社内ライブラリにクラス使ってたりするので動く、間違いなく。継承・仮想関数・純粋仮想関数もろもろOK。

で、>>494にあがってたフォーラム2件見てみたのだが、あそこにあがってるmakefileではC++のコンパイルはとおるだろうが実機じゃ動かないと思われ。
コンパイラフラグとして
-fno-exceptions -fno-unwind-tables -fno-rtti -ffunction-sections
の4つ追加が必要(よって例外とか実行時型判別は使えなくなる)。-ffunction-sectionsは無くても動いたかも。
さらに、ソースコード中どこかに
extern "C" void __cxa_pure_virtual(void){}
の関数、リンカフラグに
--cref
追加。
クラスに対してnew/delete使うならクラスのnew/deleteオーバーロードじゃなく、グローバルスコープでnew/delete/new[]/delete[]をオーバーロードしてやればOK。
うちはこれに気づかず、クラスのnew/deleteオーバーロードしてんのにARMコンパイラ使用時や実機でエラー吐かれるて嵌ったorz

あと、元々GNUDEでのBREWバイナリコンパイルは英BREWフォーラムのtyndal氏の記事が元(だと思う)。
brewforums.qualcomm.com/showthread.php?s=bb18a6bbfdca41e8baab0de92c686daa&threadid=1601
ここと、記事に載ってるリンク先を見れば必要な情報は揃うはず(うちはそれでC++環境構築できた)。


501 名前:名無しさん [04/12/22 22:43:23]
>>497
動かしてみる、感謝。




502 名前:名無しさん [04/12/22 22:44:00]
まちがえた。

>>500
ありがとう。


503 名前:デフォルトの名無しさん mailto:sage [04/12/26 02:48:55]
enraタン復活。

504 名前:デフォルトの名無しさん mailto:sage [04/12/27 11:31:38]
>>500
フォーラムのmakefileのままで実機(au端末)でも動いたよ。C++ね。
まあ、ワーニングは沢山出るけど。

もともとARMで成功していたソースにPACKEDなんかの修正入れただけだけど。
コード的には、virtualは使用、例外実行時型判定は非使用。

ちなみに、その辺の情報持ってるなら公式にもRESしといてあげれば〜
ここだけだと過去ログ見れない人もかなり多いだろうし。


505 名前:デフォルトの名無しさん mailto:sage [04/12/29 02:29:38]
ワーニング

506 名前:デフォルトの名無しさん mailto:sage [04/12/29 11:40:36]
「ウォーニング」と発音する人ってほとんどいないな
「Award」→「アウォード」も


♪せぶん でいず わー、たたかーうーよー

507 名前:デフォルトの名無しさん mailto:sage [04/12/29 18:10:14]
>506
ノシ
でも会話してると、相手は「ワーニング」、漏れ一人「ウォーニング」orz

508 名前:デフォルトの名無しさん [04/12/30 20:23:32]
BREW開発支援サイト落ちてる?
正月休み?

509 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:00:42]
いつも落ちてる

510 名前:デフォルトの名無しさん mailto:sage [04/12/30 22:27:45]
C++で書いてる人に質問。
容量足りなくなりませんか?
ゲーム作ってるけど、C++では、容量的に難しい・・・

511 名前:デフォルトの名無しさん mailto:sage [04/12/30 23:17:40]
>>510
例外処理機構とRTTIを切ってないのか?
それ以外ならCとたいして違わんはず。



512 名前:デフォルトの名無しさん mailto:sage [04/12/31 11:13:08]
>>506-507
ま、ウォーニングでもワーニングでもないがな。IPAで書くと…


513 名前:デフォルトの名無しさん mailto:sage [04/12/31 13:00:40]
ウォーニングと言うとダビスタしか思い出せないんだが…






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef