BREW(Binary Runtime ..
308:デフォルトの名無しさん
07/03/09 23:24:22
URLリンク(brewforums.qualcomm.com)
これだな
309:デフォルトの名無しさん
07/03/09 23:26:53
訳:STRTOWSTRは単純。STREXPANDは賢い。
310:デフォルトの名無しさん
07/03/10 00:44:20
海外向け?(´・ω・`)
311:デフォルトの名無しさん
07/03/10 17:07:50
ガイド
>STRTOWSTR/WSTRTOSTR について
>(略)、使用しないでください。
チェックシート
>STRTOWSTR/WSTRTOSTR関数の使用禁止
>(略)、STREXPAND/WSTRCOMPRESS関数を使用してください。
312:デフォルトの名無しさん
07/03/10 17:08:56
>>331はau端末の話ね。
海外向けアプリはこの限りじゃない。
313:312
07/03/10 17:09:27
× 331
○ 311
314:デフォルトの名無しさん
07/03/10 17:22:54
>>306 は半角かなって言ってるから、日本の端末でそ。
315:306
07/03/12 17:29:40
みんなありがとう。
KのドキュメントにSTREXPAND使えって書いてあるじゃんね。
超FAQな質問してごめん。(*´Д`)
316:306
07/03/12 17:35:55
ちなみにやりたかったことは、
「SJIS文字列の中に特定文字列が存在するかどうか調べる。」
だったんだけど、STRSTR が頭悪いからいったん
AECHAR[] にしたほうがいいんでね?っていう判断だったのでした。
で、結局 char[] 型のまま SJIS 対応の STRSTR_SJIS を書いて解決。
処理速度もほとんど変わらずで問題なしになったのでした。
317:デフォルトの名無しさん
07/03/12 23:23:22
自作アーカイブでIFile直接操作できると
gzip展開の時にIFileから直接展開できる分
メモリ消費が少なくなっていいよね。
318:デフォルトの名無しさん
07/03/12 23:29:58
DQNめんともうちょっときれいにしてほしいでつ><
319:デフォルトの名無し
07/03/13 16:44:55
>>317
IFile を継承して、中身は gzip の操作をするインターフェイスを作りたいってこと?
320:デフォルトの名無しさん
07/03/13 22:52:29
>>319
UnzipにそのままIFileぶっこめるだろ
321:デフォルトの名無しさん
07/03/14 12:23:17
>>320
ああそうか。
じゃあ、IFileMgr 継承したインターフェイスを作りたいってことか?
322:デフォルトの名無しさん
07/03/14 23:27:06
だれかPart8の過去ログ持ってませんか?
Wikiの過去ログもPart7までしかUPされてなくてさ
323:デフォルトの名無しさん
07/03/14 23:50:34
>>322
糞ロダへのupでいいなら
URLリンク(kasamatusan.sakura.ne.jp)
324:デフォルトの名無しさん
07/03/15 17:17:54
>>322
up してみた。こんなんでよいのだろうか。
URLリンク(brew.s214.xrea.com)
325:デフォルトの名無しさん
07/03/17 17:03:31
土曜日だが会社だ。ああまんどくせ。保全。
326:デフォルトの名無しさん
07/03/17 17:13:55
乙かれ
327:デフォルトの名無しさん
07/03/17 23:31:16
VCExpressでもプログラミングできる?
エミュまででいいから
328:デフォルトの名無しさん
07/03/17 23:48:14
できるはず。
プロジェクトは手動で作る必要あるけど。
329:デフォルトの名無しさん
07/03/19 14:47:43
>>327
うちはリリースしてるアプリをVCExpressで開発してる。
シミュレータともリンクして普通にデバッグできる。
ステップ実行とか、変数ウォッチとか、普通に出来る。
330:デフォルトの名無しさん
07/03/19 23:51:10
どうせドコモ以外は糞なんだよ!!!!!!
で330
331:デフォルトの名無しさん
07/03/22 18:11:02
保全
332:デフォルトの名無しさん
07/03/25 03:24:10
常時・定期通信制限厳格化まであと7日age
333:デフォルトの名無しさん
07/03/25 04:20:20
ユーザーには着うたとかがんがん落とさせるくせに、アプリには厳しすぎる
334:デフォルトの名無しさん
07/03/26 11:14:40
>>332
くあしく
335:デフォルトの名無しさん
07/03/26 17:08:51
>>334
とりあえず法人向けの話だから関係する人で気になる人はサイト見れ
336:デフォルトの名無しさん
07/03/27 18:36:05
BREW AppLoaderにて間違って日本語のファイル転送してしまったのだけど・・消す方法ないでしょうか・・
337:336
07/03/27 19:08:33
端末のアプリリセットをすると消すことができました。
338:デフォルトの名無しさん
07/03/28 12:49:52
>>336
おれは、アプリフォルダのファイルをすべて消すプログラムを書いて対処したことがある。
// 擬似コード
filemgr = CreateInstance( AEE_FILEMGR );
if( filemgr )
{
FileInfo info;
filemgr->EnumInit("",FALSE);
while( filemgr->EnumNext(&info) )
{
filemgr->Remove(info.szName);
}
}
339:デフォルトの名無しさん
07/03/28 23:09:53
ISSLがわからね〜〜〜
リファレンス以外の資料はどこにあるんだ?
340:デフォルトの名無しさん
07/03/29 02:10:31
>>339
BREWではやったことないが、昔javaでjsse使って自前でTLSで
通信するサーバーとクライアントは作ったことあるんでちょいと覗いてみた
サンプル見る限り、生のソケットあけてISSLに食わせて、適当に接続先の
証明書ぶちこんでネゴさせりゃ動きそうなんだが・・・
341:デフォルトの名無しさん
07/03/30 10:25:27
サーバからpngファイルをダウンロードして、メモリ上のデータからIImageを作ろうと思ったんだが
一旦ファイルに保存してISHELL_LoadImageしないとダメ?
342:デフォルトの名無しさん
07/03/30 10:50:21
つ IMemAStream
343:デフォルトの名無しさん
07/03/30 11:41:37
>>342
あ〜なるほど、ありがとう。
ちょっと処理が複雑になるけどしょうがないな。
344:デフォルトの名無しさん
07/03/30 14:05:41
あれっ、直接ソケットを渡せなかったっけか?
345:デフォルトの名無しさん
07/03/30 14:26:56
やばい・・・俺もSSLで嵌った_| ̄|○
まずはテストなのでgetもpostも送らず、
https経由で普通のhtmlを取得しようと思ったのですが
IEから接続できるURLリンク(hogehoge)<)
BREW3.1でテストしています。
346:デフォルトの名無しさん
07/03/30 18:45:57
証明書は?
べりさいん辺りのページには繋がる?
347:345
07/03/31 00:31:07
>>346
お返事サンクス
ソースはそのまま別のサーバへ接続したら繋がりました。
って事で証明書が問題か・・・
最終的にはプライベート証明書を使うのですが、
現状見事に失敗してます。
上記ソースのIWebOptsをIX509Chainに変更して証明書を食わせただけですが。
どうも違うっぽい。
ソケットプログラムは理解度が浅いのでIWebでどうにかしたいのですが・・・
もう暫くもがいてみまーす。
348:デフォルトの名無しさん
07/03/31 02:05:25
最近スレの流れがゆっくりになってきたねぇ…
案件(?)が減ったのかな
349:デフォルトの名無しさん
07/03/31 02:53:36
>>347
証明書のファイル形式は合ってる?BREWが読めるのはDER形式だったはずですが。
350:345
07/03/31 22:02:33
>>349
DER形式です。
httpで接続できてる状態のクラスに、
IX509Chainインタフェースの生成
>ISHELL_CreateInstance( getShell(),AEECLSID_X509CHAIN, (void**)&m_ix509Cain);
証明書を追加
>IX509CHAIN_AddCert( m_ix509Cain, WEBOPT_X509_ROOT_CERTS, m_cainBuf, m_cainBufSize );
WebOptを変更
>IWEB_GetResponse(m_iWeb,
>(m_iWeb, &m_iWebRes, &m_CB, m_url,
>WEBOPT_HANDLERDATA, this,
>WEBOPT_METHOD, "GET",
>WEBOPT_HEADERHANDLER, headerHandler,
>WEBOPT_X509_HOST, m_hostName,
>WEBOPT_DEFAULTS, m_ix509Cain,
>WEBOPT_END));
という感じでやってますが、何処か問題の有りそうな箇所はありますか?
351:デフォルトの名無しさん
07/04/01 12:46:45
>>348
安心しろ、BREW4が出てくると・・・
352:デフォルトの名無しさん
07/04/01 18:15:59
>>350
たしかm_cainBufは通信終了まで保持しないとダメ
あるいはCOPYOPTSオプションをm_ix509Cainに指定する
353:デフォルトの名無しさん
07/04/01 18:16:53
つーかエラーコード書こうぜ
354:デフォルトの名無しさん
07/04/01 21:34:18
Cell Phone Suicide Bomber Projectでは協力者を募集しています
URLリンク(www2s.biglobe.ne.jp)
URLリンク(sourceforge.net)
355:345
07/04/02 01:54:43
cainって何だよ○| ̄|_
>>352
メンバ変数は全て通信終了時まで保持しています。
COPYOPTSも指定してみましたがNG。
うーん、サーバ側の設定とかいうオチだといいなぁ・・・
エラーコードは常に WEB_ERROR_SSL で、
エラー時に下記を実行した結果の
sslInfo.nResult の値は 0x1001003c でして・・・
>SSLInfo sslInfo;
>IWEBRESP_GetOpt(m_iWebRes, WEBOPT_SSL_SEC_INFO, 0, &sslInfo);
意味不明だったので出そうか悩んでました。
ちなみに IWEBRESP_GetOpt はSUCCESSが帰ってきてます。
356:デフォルトの名無しさん
07/04/02 04:19:48
SSLInfoの参照の仕方が違う
{
SSLInfo * psi;
WebOpt wo;
DBGPRINTF("Web Error : %d", resp->nCode);
if (IWEBRESP_GetOpt(pme->piwresp, WEBOPT_SSL_SEC_INFO, 0, &wo) == SUCCESS)
{
psi = wo.pVal;
DumpSSLInfo(pme, psi);
}
SSLInfo * は wo.pVal に入る
357:デフォルトの名無しさん
07/04/02 08:23:13
(・∀・)ウォ・ッップバル!
358:345
07/04/02 11:13:27
>>356
ありがとです。
おかげでエラーコードを拾えるようになりました。
サーバ側と詰めてきます。
強引なキャストだと思っていたら
見ている資料が古すぎたってことか(;´ρ`)
359:デフォルトの名無しさん
07/04/03 00:02:42 BE:973224285-2BP(0)
組み込み&BREW初心者のJava開発者です。
BREWでC++って使っていますか?
Better Cという意味でのC++ではなく、クラスなどのオブジェクト指向としてのC++って意味です。
組み込みやった先輩(BREWは初心者)から、
組み込みは基本的にC。BREWやってた人からBREWでC++やるとはまる、チャレンジャーだねという話を聞いた。
と言われました。
BREWでC++使えますでしょうか?
360:デフォルトの名無しさん
07/04/03 09:49:01
>>359
使っていますが全く問題ありません。
361:デフォルトの名無しさん
07/04/03 10:02:52
>>359
テンプレートが実質使えないから旨味が半減じゃまいか。
362:345
07/04/03 15:12:27
サーバ側と煮詰めたら無事繋がるようになりました。
SSLが遅い!との事でhttpに変更になりました。
ソース全部破棄しました。
本当にありがとうございました。
363:デフォルトの名無しさん
07/04/03 15:33:39
>>359
うちも基本的に C++ で書いてる。
>>361
テンプレートは使えるには使えるんだが、容量の都合で用途は限定されるべ。
364:359
07/04/03 23:58:24 BE:1094877195-2BP(0)
皆さん、レスサンキューです。
C++で問題ないみたいなので、C++で行こうと思います。
365:デフォルトの名無しさん
07/04/04 02:50:59
>>364
RVDS2.1以降でC++のサポートが強化されてる
namespaceとかtemplate回り
金があるならRVDS買えば幸せになれるかも
>>362
UIMカード搭載端末限定だとたぶん回避策あるんだが...それで問題なければ問い合わせて見れ
366:359
07/04/04 06:52:51 BE:1021885867-2BP(0)
>>365
RVDSで幸せになれるというのをもう少し教えてください。
VCだとVCのコンパイラーで通れば何でも書けちゃうけど、
RVDSだとIDEがBREW(ARM)用のC/C++に対応してるとかですか?
BREWのSDKに付いてるエミュレーターは、なんちゃってエミュなので、
Windows上でBREW用のソースでテストとかできるなら嬉しいですけど。
367:359
07/04/04 06:55:33 BE:1094877195-2BP(0)
あと、RVDSの価格ですが、バージョンちょっと古い価格表がここに載ってました。
今でも$6000ぐらいからですか?
URLリンク(www.jp.arm.com)
368:デフォルトの名無しさん
07/04/04 10:11:55
いやコンパイラがC++のより高度な文法をサポートしてるだけ
BREWに関してはデバッグ環境はかわらんよ
値段はシラネ
369:デフォルトの名無しさん
07/04/04 13:09:34
おれは C++ で開発してるけど、GNUARM しか使ってない。
370:デフォルトの名無しさん
07/04/05 00:41:48
GUNDA(ry
371:デフォルトの名無しさん
07/04/05 11:33:28
>>370
これのことか?
URLリンク(www1.interq.or.jp)
372:デフォルトの名無しさん
07/04/05 21:52:14
またえらくなつかしいもんひっぱりだしてきたな
373:デフォルトの名無しさん
07/04/05 21:58:13
SecurityPass・・・
374:デフォルトの名無しさん
07/04/11 10:39:53
保全.NET 2005 Express Edition。
375:デフォルトの名無しさん
07/04/13 09:43:26
通信中や処理中にキーを連打すると、
通信や処理終了後に連打した分のキーイベントが、
全て起こってしまうんですが、
これを上手く回避する方法はないでしょうか?
376:デフォルトの名無しさん
07/04/13 10:08:13
無視すればいいんじゃね?
377:デフォルトの名無しさん
07/04/13 13:36:30
二つとか三つとか音楽を同時に再生をスタートさせる方法ってある?
IMEDIA_Playを並べて書いてみたらズレまくって困る
378:デフォルトの名無しさん
07/04/13 13:45:32
普通に2つ並べて書いて問題起こったこと無いな。
データがおかしいのかも。
379:デフォルトの名無しさん
07/04/13 14:09:01
なんと言えばいいのかな。
全部の音は、鳴ることは鳴ってるんだけど。
ただ、並べて再生してみたら数ミリ秒とかそんなぐらいなんだけどスタートがズレてて、
後ろに書いた方がタイミングがズレてるような感じを受けるんだ。
380:デフォルトの名無しさん
07/04/13 14:28:16
FA:そんな厳密な同時性を携帯端末に求めるな
381:デフォルトの名無しさん
07/04/13 15:24:41
IFileMgr_GetFreeSpace(IFileMgr * pIFileMgr, uint32 * pdwTotal)
の *pdwTotal って何?
382:デフォルトの名無しさん
07/04/13 15:56:59
>>381
BREWAPIReference.chm
383:381
07/04/13 16:43:56
>>382
すんません。
「ファイルシステムで現在使用可能な空きバイト数」(戻り値)とはちがう、
「ファイルシステム内の合計空き容量」(*pdwTotal)って何だ?と思って。
k-brew-testでほぼ目一杯にしてて、*pdwTotalがEFS全体に近いような値だったので、
これ何だろと。
他のアプリも含め、アプリが作成したファイルを全部削除した場合の空き容量とか?
>>381
最初からそう書いとけ
384:デフォルトの名無しさん
07/04/13 17:43:50
気にしなくていいと思う。
385:381
07/04/13 18:26:37
なるほど、そうしてみる。(・∀・)
386:デフォルトの名無しさん
07/04/13 22:06:49
>>383
>「ファイルシステムで現在使用可能な空きバイト数」(戻り値)
EFSのうちの空き容量。
>「ファイルシステム内の合計空き容量」(*pdwTotal)って何だ?
EFS全体のサイズ。だからTotal。
システムが占有する分がいくらかあるだろうから仕様書の値とは若干違う。
だから「EFS全体に近いような値」(であって大きく外れた値ではない)。
387:デフォルトの名無しさん
07/04/17 10:28:43
すみませーん。
IDATAFOLDER_SelectUI なんですが、
第4引数の dwMaxFileSize の説明に
『選択するファイルサイズ合計値の上限。(単位はKB)』
とあるので100と指定してみたのですが、
余裕で100KB超のファイルを選択できます。
仕様と思っていいんでしょうか?
テストに使用している機種はW42SAで、
端末仕様書を見る限り特に制限とか書いてないようなんですが。
388:デフォルトの名無しさん
07/04/17 16:49:48
>【複数選択時の残表示について】
(略)
>この機能は移動機依存であり、実装されない移動機もあります。
こういうことじゃない?
389:デフォルトの名無しさん
07/04/17 22:00:22
KDDI向けのBREW3.1日本語で開発していますが、質問です。
世に出回っているアプリ起動中に、電源ボタンを押すと、
xxxを終了します。よろしいですか?
1中断する
2終了する
3キャンセルする
と端末共通ぽいダイアログがでますが、これの呼び出し方法が判りません。
何かの設定をすると自動で出るのか・・・KDDIのライブラリを呼ぶのか・・・色々調べたけどダメでした。
判る方居たらよろしくお願いします。
390:デフォルトの名無しさん
07/04/17 22:13:50
>>389
サービスガイドを「ダイアログ」で検索。
391:デフォルトの名無しさん
07/04/17 23:04:23
>>389
サービスガイドはひととおり読んだほうがいいんじゃないでしょうか・・・
あと、事前検証手順書とチェックシートは今のうちに一回眺めておくと
後で幸せかもしれません。
392:デフォルトの名無しさん
07/04/17 23:04:24
>>389
その周りって、2.1と3.1でスペックが微妙に違うよな。2.1だと何も考えなくても
よかったんだが
393:389
07/04/17 23:44:10
レスくれた方ありがとう、読み直してきます。
394:387
07/04/18 10:16:14
>>388
どうやらそのようで。
今日別の端末が届いたので同じアプリを入れてみたら、
「あと100KB」と表示が出ましたとさ。
その文言はどう見ても「複数選択」の方に
かかりそうな気がするんだが・・・
何だかなぁ(゜д゜)
395:デフォルトの名無しさん
07/04/22 00:55:32
BREW携帯に送れないの?意味無いような・・・
396:デフォルトの名無しさん
07/04/22 02:00:22
>>395
試験モードになってりゃシリアルケーブルで送れるよ。
sigファイルを定期的に取り直せば勝手アプリだって
自由に動かせるよ。便利だよ。
397:デフォルトの名無しさん
07/04/22 02:14:57
くそー
メンテのせいで仕事がーーー
398:デフォルトの名無しさん
07/04/22 02:38:08
メンテなんてやめんて
399:デフォルトの名無しさん
07/04/22 03:29:23
這(゚Д゚ )
400:デフォルトの名無しさん
07/04/22 18:39:15
検証提出直前3日前だと笑い死ぬと思う。
401:デフォルトの名無しさん
07/04/22 19:03:23
メンテで提出日に出せません
あーん?聞こえんなぁ
徹夜してでも間に合わせろ
なんとか終わらせました
あーん?何徹夜残業してんだよ
メンテでできなかったからです
あーん?そんなもん知ったことか
ちゃんと計画立ててないのが悪い
残業代でないからな
402:デフォルトの名無しさん
07/04/22 22:15:17
もっともだ・・・
403:デフォルトの名無しさん
07/04/22 22:41:04
もともと残業代のない俺は勝ち組
404:デフォルトの名無しさん
07/04/24 15:08:09
20日に検証中に変わったんだが 一向にこちらのサイトにアクセスがない。
もしかしてsigファイルとれなくて実機での検証がまだとかなのだろうか・・・
405:デフォルトの名無しさん
07/04/24 17:34:24
検証始まったんなら、ぼちぼち作業が進むんでない?
まだ3営業日しか立っていないんで、何とも言えない希ガス。
406:デフォルトの名無しさん
07/04/25 01:22:22
>>405
18時位からアクセスが来た。しかもこの時間になっても検証作業してる。
がんばれ検証ラインの中の人。
407:デフォルトの名無しさん
07/04/25 01:53:37
じゃあ、やっぱりsigか?
無効も迷惑こうむってたんだな・・・
408:デフォルトの名無しさん
07/04/25 13:17:02
なんか、最近は検証も外注とか何とかそういう話が出ているようですね。。。
409:デフォルトの名無しさん
07/04/26 07:47:57
がんばれ、KDDI検証の人!
連中にはいろんな意味で頭があがらないぜ。
410:デフォルトの名無しさん
07/04/27 00:49:42
最近も何も、初めっから検証は外注
411:デフォルトの名無しさん
07/04/27 01:05:36
検証通ったようでステータスが登録中になったよ。ありがとう中の人。
412:デフォルトの名無しさん
07/04/27 02:24:51
sig、なおらないねー・・・
413:デフォルトの名無しさん
07/04/27 09:56:08
gnudeの情報は出ていましたが、WinARMって誰かもう使ってますか?
ソースはC++で、静的変数をいっぱい使っていたりするんですけれど。
それから、こちらはRVDS2.xが前提みたいですが、lightblueの
modジェネレータって、誰か使って成功しています?
414:デフォルトの名無しさん
07/04/27 13:17:34
sigとれるようになったー
・・・って有効期限が1年になってるけど、あってるの?これ・・・
415:デフォルトの名無しさん
07/05/01 01:52:48
みんなデスマってるか〜?
416:デフォルトの名無しさん
07/05/01 09:15:07
ん? 俺は連休中だ
417:デフォルトの名無しさん
07/05/01 21:11:37
>>416
いいなぁ、お前、どうせ去年からずっと連休なんだろ?
418:デフォルトの名無しさん
07/05/02 00:35:20
さすがにそこまでのヤツはこのスレには来ない予感
419:デフォルトの名無しさん
07/05/07 14:34:57
黄金連休は9連休だった。
420:デフォルトの名無しさん
07/05/07 15:21:34
こ れ か ら 2 ヶ 月 祝 日 な し
421:デフォルトの名無しさん
07/05/07 15:45:37
祝日があっても休めなかったりするのに
何言ってんだ?(・ω・)
422:デフォルトの名無しさん
07/05/07 20:00:22
休めるわけじゃないが、遅刻しても平気なだけマシなのだな
423:デフォルトの名無しさん
07/05/07 22:28:33
しかし連休明けと同時に書き込みが始まるのは判り易いよな
424:デフォルトの名無しさん
07/05/07 22:37:54
Javaのインターフェースのような振る舞いをさせたい場合はどうしたらいいんだろう?
クロスキャストで質問なんだが。。。
Javaからの移植を今やってる。で以下の継承ツリーを持つクラスがある。
Object -> ClassA -> ClassB -> ClassC -> ClassD
↑ ↑
Object -> ClassE ↑
↑
Object -> ClassF -> ClassG
※)みぎにいくほどサブクラス。ClassE,ClassF,ClassGはJavaではインターフェース。
BREWでは純粋仮想関数だけを持つクラス
ちなみにClassBの宣言は
class ClassB : public ClassA, public virtual ClassE
ClassCの宣言も同様に
class ClassC : public ClassB, public virtual ClassG
でこのクラスに対して
ClassD* classD = new ClassD();
ClassC* classC = (ClassC*)classD;
ClassB* classB = (ClassB*)classC;
Object* obj = (Object*)classB;
とUPキャストしてObject型にする。んでそのあとに
ClassG* classG = (ClassG*)obj;
classG->hoge();
をやるとまったく違う関数が呼ばれてしまう。。。。どうしたらいいんだろ。。。。
425:デフォルトの名無しさん
07/05/08 02:07:48
何で仮想継承してるのか分からんけど、普通に多重継承させて
ClassG* classG = static_cast<ClassG*>(static_cast<ClassD*>(obj));
obj->hoge();
でいけることない?
426:デフォルトの名無しさん
07/05/08 02:57:58
仮想継承消して実験してみたら、↑のは曖昧って怒られた。
むかついたからこんな風にしてみた。
IClassG* classG = (IClassG*)(ClassD*)(ClassC*)(ClassB*)(ClassA*)obj;
classG->ClassGFunc();
今は反省していない。
>>424
Object にキャストしたときにはもう元の型情報が失われてるから、
ClassG* にするために何バイトオフセットをずらせばいいかが分からない。
だから正しい型(ClassG を継承した型)に戻した上で ClassG* にキャストしてやる必要がある。
427:デフォルトの名無しさん
07/05/08 04:12:34
>>426
それでいけるのも分かるのだが、
しかしそうすると、たとえばIClassGを実装したクラスが
3つあるとすると、それらをIClassG型で扱いたいのに、いちいち元の型を
しらべて、それに一度キャストしてからIClassGに戻すということをしないといけない。
JavaではIClassG型として受け取れば元の型が何であろうと
IClassG型のメソッドは呼べる。
できればJavaと同じ振る舞いをさせたいんだけどいい方法ないかなぁ・・・・
COMのQueryInterfaceみたいなのを作るしかないのかな・・・・・
428:427
07/05/08 04:16:36
追記。
いったんObject型にしちゃうのは、JavaでいうVectorみたいな
可変長配列に入れてるためです。
templateにしてないのはプリミティブ型を入れたくないから。
まぁ元がJavaからの移植なのでできるだけJavaのコーディングを
真似したいということです。
429:デフォルトの名無しさん
07/05/08 08:55:57
>>428
少々めんどくていいなら、
struct Object
{
int type;
void* obj;
};
こんな感じのクラスを可変長配列に格納すればいいんじゃないかと。
受け取った側は type を見て適切な型に頑張って自分でキャストする、と。
>>427
それをするためには RTTI が不可欠になってくるので、
自分でそういった機構を作る必要が出てくるだろうなぁ。
正直俺はやる気がしない。
430:デフォルトの名無しさん
07/05/08 18:29:48
ARMのコンパイルしたら
#include file "なんたら" wouldn't open
がズラーっと並ぶ。
なんたらのところは追加インクルードディレクトリの中にあるヘッダーファイル
どのへんをいじってみたらいいのかもわからんボスケテ
431:デフォルトの名無しさん
07/05/08 20:39:47
>>430
-Iオプションで追加インクルードディレクトリを指定してあげたらいいんじゃないかな。
432:デフォルトの名無しさん
07/05/10 09:56:59
>431
助かった。解決!
433:デフォルトの名無しさん
07/05/10 21:53:07
Cメールを受信すると一瞬停止する現象が起きます
W32SA端末です
434:デフォルトの名無しさん
07/05/11 00:10:01
>>433
そうですか。
435:433
07/05/11 01:29:06
Cメール受信時の動作についてはどんな資料見ればよいでしょうか?
支援サイトの資料はあるのですが、「W32」「メール」で検索したのですがダメでした。
アドバイスお願いします
436:デフォルトの名無しさん
07/05/11 02:58:29
どのドキュメントにも載ってないだろうし、
その件は技術サポートに質問するような内容だね。
437:デフォルトの名無しさん
07/05/11 04:17:22
意味がわからなかったけど、
BREWアプリが停止するって意味か。
サポートに聞けとしか(ry
438:433
07/05/11 09:10:37
問い合わせてみます。
439:デフォルトの名無しさん
07/05/13 10:28:50
質問です。環境はC++&ARMコンパイラです。
class Object と class Hoge : public Object があり、
Hoge を社内ライブラリのスマートポインタに格納しました。
SmartPtr<Hoge> spHoge(new Hoge());
そしてスマートポインタから生のポインタを取り出すのですが、
Hoge* pHoge = spHoge.getPtr();
Object* pObject = spHoge.getPtr();
void* pUnknown = spHoge.getPtr();
この時、pObjectにだけ 他で得られたポインタ値-8 が格納されていました。
SmartPtr<Hoge>::getPtr()の実装は、内部で持っているダブルポインタ
Hoge** p を、 return *p として返しているというようなものです。
この、返すべきポインタの型によって、
ポインタ値-8されてしまうのは、何故なのでしょうか?
VCとエミュレータでやってみても再現しないため、
ARMコンパイラの何らかの機構によるものではないかと思うのですが、
私には、それが何であるのか今のところ分かっていません。
他にも同じ経験をされた方や、詳しい方いらっしゃいましたら是非ご教授くださいませ。
440:デフォルトの名無しさん
07/05/13 16:56:39
>439
pHoge を Object* にキャストした場合はどうなる?
>class Hoge : public Object
単一継承じゃなくて多重継承してたりとかしない?
>この時、pObjectにだけ 他で得られたポインタ値-8 が格納されていました。
+8 じゃなくて、-8?
441:439
07/05/13 21:12:40
>>440
返信ありがとうございます。
>pHoge を Object* にキャストした場合はどうなる?
pHoge を Object* へというのはちょっとやっていませんでした。
明日試してみます。
>単一継承じゃなくて多重継承してたりとかしない?
・・実は多重継承しています!
本当はこのような継承構造になっています。
class Hoge : public Object , public Factory<Hoge>
Factoryは、static T CreateInstance()メソッドを持ち、自分自身を
確保してあるメモリプールから生成出来るようにしており、
new Hoge() も実際は、Hoge::CreateInstance() となっています。
Objectは、いくつかの変数と仮想関数を持っています。
情報の後出しをしてしまい、申し訳ありません。
多重継承だとVTBLが複雑になるといった情報を先ほど知ったのですが、
その影響ということなのでしょうか?
>+8 じゃなくて、-8?
そこを突っ込まれると、メモって来たわけではないので
ちょっと自身がないのですが、確かpObjectだけ他-8だったように思います。
明日詳しく調べてきます。
442:デフォルトの名無しさん
07/05/14 00:45:51
>>424 と同じ悩みだな。
「BREW Java 風 クラス」とかでググるといいかも。
443:デフォルトの名無しさん
07/05/14 02:52:27
>441
>多重継承だとVTBLが複雑になるといった情報を先ほど知ったのですが、
>その影響ということなのでしょうか?
vtbl よりもメモリレイアウトの方かな。
派生クラスのオブジェクトの一部に基本クラスのオブジェクトが含まれる。
仮に、Hoge クラスのレイアウトが次のようになったとする。
Factory<Hoge> の内容
Object の内容
Hoge 独自の内容
このとき、Hoge * はオブジェクトの先頭を指すので「Factory<Hoge> の内容」の先頭を指している。
void * へキャストする際は、そのままオブジェクト先頭を指すので「Factory<Hoge> の内容」の先頭を指す。
Object* へキャストする場合は、内部の基本クラスのオブジェクトの先頭を指すので、「Object の内容」の先頭を指す。
なので、Factory<Hoge> の内容(とパディング)で 8 バイト確保されている場合には、Object* へキャストするとポインタ値が +8 される。
多分、ARM コンパイラと VC でオブジェクトのメモリレイアウトが違うんじゃない?
444:439
07/05/15 01:45:15
すみません、Object*で返ってきたポインタ値は、皆さんの仰るとおり+8でした。
どうやら逆に勘違いしていたようです。
>>443
なるほと、そういうことなのですね。
あれから自分でも色々試し、色々と分かるようになりました。
私も途中で>>424の問題とぶつかりましたが、私の場合は
基本的にスマートポインタを使うようにし、派生クラスから基底クラスへキャストした際に
派生のポインタと基底のポインタから差分を取り、キャストオフセット値(?)として
スマートポインタ内部に保存して、必要なときに取り出せるようにしました。
これで大きな問題が解決でき、やっと作業が進行しそうです。
皆さん、本当にありがとうございました。
445:デフォルトの名無しさん
07/05/18 00:30:07
今日のカンファレンスに出てたのって例のykubo氏か?
GJと言いたいとこだが、ちょっと喋るの早すぎないかw
446:デフォルトの名無しさん
07/05/18 19:31:55
あああ、カンファレンス行き忘れた。
そもそも申し込みしてないんだが。w
447:デフォルトの名無しさん
07/05/22 13:24:16
PCから端末へのアプリの転送速度を上げる良い方法知らないか?
過去ログ見たがケーブルが悪いとか赤外線があるとかあったが、いまいち良い情報が見つからない。
ちなみに今は純正使ってる。
誰かオススメあったらkwsk
448:デフォルトの名無しさん
07/05/22 13:29:49
転送量を減らす
449:デフォルトの名無しさん
07/05/23 03:51:18
なぁ、BREW2.1のアプリってまだ作ってる?
どうせユーザー数は少ないんだし切り捨てたいんだけど…
KではBREW2.1はとっくに眼中にないわけで
公式に「もうBREW2.1は忘れていいから、BREW3.1アプリに注力してよ」
とか言っちゃってくれると一番強力なんだけどなー
450:デフォルトの名無しさん
07/05/23 09:01:23
WINの2.1なら容量がOKならまだ対応することもあるね
2.1でみると課金率下がってるから、もう少しで死滅するんじゃないのか、とは思ってるけど
451:デフォルトの名無しさん
07/05/23 10:05:36
2.1のアプリってもう3.1で実績無いと作れないんと違うの?(´・ω・`)
452:デフォルトの名無しさん
07/05/24 11:31:34
質問です。
ICAMERA_GetSizeListで撮影可能な写真のサイズを取得しようと
思っているのですが上手くいきません。
機種はW51Hです。
URLリンク(brewforums.qualcomm.com)
こちらの掲示板の内容を参考に次のような処理を作りました。
int Count = 0;
AEESize *pList;
boolean bRange;
ICamera* pICamera;
if( ISHELL_CreateInstance( pIShell , AEECLSID_CAMERA, (void**)&pICamera ) == SUCCESS )
{
pList = (AEESize*)CAM_MODE_SNAPSHOT;
if( ICAMERA_GetSizeList( pICamera , &pList , &bRange ) == SUCCESS )
{
for( ; pList[Count].cx > 0 && pList[Count].cy > 0 ; Count++ );
}
}
ICAMERA_Release( pICamera );
その結果、上記のfor文を実行した場合アプリが落ちてしまいます。
また、pListの中にはありえないようなサイズ(万単位×1とか0とか)の値が返ってきていました。
何が問題なのでしょうか。
453:デフォルトの名無しさん
07/05/24 11:48:28
APIリファレンス見た?
bRangeは使わないの?
454:デフォルトの名無しさん
07/05/24 11:49:59
NULLチェックしてないから永遠に続いてる
455:デフォルトの名無しさん
07/05/24 14:45:32
ご回答有難うございます。
>453
NULL で終結した範囲のペアリスト (2 の倍数) とありますが具体的なイメージが掴めていません。
1バイトずつ見ていって00のバイトで区切ってcxとcyが設定されているといった感じなのでしょうか
また、bRangeの戻り値はFALSEだったのですが、APIリファレンスにはFALSEの場合が
載っていませんでした。FALSEの場合の資料は有るのでしょうか。
>454
ソース上の
pList[Count]に0が入っている状態がNULLだと思い、pList[Count].cx > 0 && pList[Count].cy > 0
といった条件にしました。
どの部分がNULLの場合、終端ということになるのでしょうか
456:デフォルトの名無しさん
07/05/24 17:56:49
すみません
APIリファレンス見間違えました
ポインタじゃないのでpListの中身が0の時で合っているのかもしれません
457:デフォルトの名無しさん
07/05/24 17:58:20
>>456は>454です
458:デフォルトの名無しさん
07/05/24 22:41:22
>>452
>boolean bRange;
>ICAMERA_GetSizeList( pICamera , &pList , &bRange )
これをこうしてみて。
int32 nRange;
ICAMERA_GetSizeList( pICamera , &pList , &nRange )
459:452
07/05/25 11:59:24
>456
>458
ご回答有難うございます。無事に解決しました。
自作の関数の中でICAMERA_GetSizeListを呼んで、リストのポインタを返すようにしていたのですが
関数を出た時点でリストの値がおかしくなっているようでした。
関数内で値を取得して返すようにすることで解決しました。
終端チェックは pList[Count].cx > 0 && pList[Count].cy > 0 で大丈夫でした。
お騒がせしました。
460:デフォルトの名無しさん
07/05/29 14:44:11
(*´Д`) 保全
461:デフォルトの名無しさん
07/05/29 17:11:13
>>450
ウチはゲームなんで、容量の問題だけだねえ。
mifだけ変えて同じバイナリ渡しとくだけで両方料金請求できるのに
やらない意味がない。
462:デフォルトの名無しさん
07/05/31 11:45:49
BREW AppLoaderで機種によって接続できなかったり、
転送できなかったりするんですが、
どうにかできないでしょうか?
ちなみにBTILのアップデートパッチによって、できない機種が変わります。
BTILインストール直後 CA全般,W42H,W51Pと接続できない
U02パッチあてた後 T全般,W51SA,NEONに転送できない
463:デフォルトの名無しさん
07/05/31 11:55:00
>>462
パッチその2は当てちゃだめなのですよー
1までで。
464:462
07/05/31 12:23:17
>>463
BREWのサイトにはU01と書いてたのですが、
U01をあててもインストール直後の状態と変わらず、
CA機種等と接続できないのです。
昔にインストールしたヤツだと
どの機種にも転送できるんですが。。。
465:デフォルトの名無しさん
07/05/31 21:22:47
>>464
パッチ当てた後、iniファイル(だったっけ?)を書き換えないとだけど、それはやったかい?
466:462
07/06/01 00:58:17
>>465
それは知りませんでした。
情報ありがとう。明日やってみます。
467:デフォルトの名無しさん
07/06/01 01:20:13
>>466
URLリンク(brewforums.qualcomm.com)
468: ◆LOUDNESSQA
07/06/01 10:52:23
MIFの依存ファイルの設定についてですが、
AアプリがBエクステンションをCreateし、BエクステンションがCエクステンションを
Createする場合、
AアプリのMIFの依存ファイルはBとCのエクステンションを設定しないといけません
か?
あるいはBだけで大丈夫ですか?
オフィシャルのソース等ありませんか?
469:デフォルトの名無しさん
07/06/02 06:54:21
>>468
Kに聞け。
470:スーパードクター K
07/06/04 20:02:00
>>469
話は聞いた
患者はどこだ
471:デフォルトの名無しさん
07/06/04 23:24:44
つかいつになったらオレアプリ作れるのかなぁ?
472:デフォルトの名無しさん
07/06/05 00:36:36
オープンアプリでいいじゃん?
473:デフォルトの名無しさん
07/06/05 02:11:59
>>471
俺、このアプリが完成したら結婚するんだ。
474:デフォルトの名無しさん
07/06/06 03:19:37
>>473
俺、このアプリが完成したら退職して、小さいけど堅実な会社を開くんだ
475:デフォルトの名無しさん
07/06/06 07:23:38
なにその確実な死亡フラグ
476:デフォルトの名無しさん
07/06/08 14:02:34
VistaでAppLoaderって使える?
477:デフォルトの名無しさん
07/06/08 18:50:47
エンジニアが開発マシンにVistaなんて使っていいの?
478:デフォルトの名無しさん
07/06/09 00:44:46
中東で仕入れた
QのUnlocker改造しようと試みたが
どうにもFlashBIOSが硬くて抜き出せない
こいつ抜き出して解析できれば俺アプリ作れる
はずなんだがうーむどうしたもんか
479:デフォルトの名無しさん
07/06/12 15:33:04
IBITMAP_DrawHScanline()
x または y がビットマップの境界の外にある場合は、クリップされますか?
特に y マイナスの時
480:479
07/06/12 17:11:26
unsignedだった、スマソ
481:デフォルトの名無しさん
07/06/12 17:49:53
W51K/W52KとかW51CA/W51H/W52Tなんかで文字列入力中(ITEXTCTL使用中)に
終話キー押してもEVT_APP_SUSPENDが来ねEEEEEEEeeeee!!!
みなさんがたはどうやってMEDIAとかインスタンス開放してますか?
※SUSPENDよこさずにRESUMEとか投げてよこすのは端末のバグだろぉーーー
482:デフォルトの名無しさん
07/06/12 17:58:46
mifの設定は?
483:481
07/06/12 18:22:57
>482
ストップダイアログでしょうか。
ちゃんと設定されてますた....
文字入力途中のサスペンド/レジューム動作は機種依存となりますっつー記述
見つけてテストみたら散々な目にwwwww
484:デフォルトの名無しさん
07/06/12 18:44:51
あー、俺がやった奴今調べてみたら
文字入力する所じゃ音ならねーやw
文字入力の前に開放しとくとかするしか無いんでない?
485:481
07/06/12 20:56:34
げげっやっぱりっすか
すまんす、終話キーだけじゃなくってもちろん音声着信でも同様な事が起こります。
ちなみに音着の方がもっと深刻でHとかCAでも発生します(こいつらは終話キーの時は
編集内容破棄するかポップアップ出すのでまだましかも。)
MEDIAって書きましたがその他のハードリソース取得したままだと音声着信に動画やら
設定されているともれなくリセットすると思われ。
ログ見てたらW51KとかW52Kで終話キー押したらメモリリークあるようなログ出てるのも
気になるところっす。(アプリじゃなくKCPぽいですが。)
486:デフォルトの名無しさん
07/06/12 22:06:57
>>481
IHTMLViewer + INPUTフォームおすすめ
俺はこの方法で入力してるが、サスペンド自体が来なかった記憶はないな
見落としてるのかもしれないけど、レジューム後にIMediaもフル動作してるから、
多分サスペンドされてるとは思うんだけどな
487:デフォルトの名無しさん
07/06/12 22:45:23
むかしKの端末って、ITEXTCTLとサスペンドは鬼門だったような覚えがあるのは
何の気のせいだろう。。。。
488:デフォルトの名無しさん
07/06/13 06:19:29
ブラウザ連携も癖あったよねー。昔のK
489:481
07/06/13 11:06:07
レスありがとうございます。
アプリ内部でSUSPEND/RESUMEのステートマシンを作ってがちがちにガードさせていたのもあり
SUSPENDが来ずにRESUMEがきた場合は無視してたらEVT_APP_STOPがきてアプリ終了されてました。
今回のどうみても端末不具合としか思えない現象に対してはとりあえず画面再描画することで
回避しますた。
※リセットに繋がるインスタンスは保持していないのでリセットはしないと思われます。
ITEXTCTLを使う前にはリセットに繋がる資源は開放していた方がよさそうですね。
>486さん
その方法、ちょっと調べてみます。ありがとうございました。
490:デフォルトの名無しさん
07/06/15 19:41:16
>>489
俺は486じゃないが一言。
リドローのタイミングとかきちんとしてないと、一部端末で酷い目にあうから気を付けろ。
まあ、作法通りに作れば概ね大丈夫なはず。
491:デフォルトの名無しさん
07/06/15 23:18:05
>IHTMLViewer + INPUTフォームおすすめ
に関係したことで質問。
アプリからFEPを起動した場合は、入力確定してアプリに戻るとき
eCode: EVT_CTL_TEXT_MODECHANGED
wParam: TMJ_FEPOUT
が発生するとガイドに書いてあって(BREW3.1)、実機で動作確認できた。
しかしINPUTフォームの場合は、値やイベントの定義が特にガイドに
載ってなかったと思うのだが、
アプリへ復帰するタイミングはどうやって判定するのだろうか?
見落とし、思い違いをしてるぞってことなら指摘頼む。
492:デフォルトの名無しさん
07/06/16 01:00:34
>>491
HTMLには入力(INPUT)とOKボタン(SUBMIT)をセットで配置してるんだ。
だからOKを押してもらったときのURLトリガをタイミングにして
復帰とかエラーメッセージ表示させてる。
HTML上でやってるからあまり凝った画面は作れないけどね。
493:デフォルトの名無しさん
07/06/16 02:25:08
なかなか使えそうな技だな。こんど俺も使ってみよう。
494:デフォルトの名無しさん
07/06/16 21:13:14
BREWもCも初めてなんですが、
一つ凄く基本的な質問をさせてください。
BREWではグローバル変数が使えないと書いてたんですが、
例えば描画に必要なIGraphicsを色んな関数から参照できる位置には保存できなくて、
その都度関数に引数として渡さないといけないということなんでしょうか?
495:デフォルトの名無しさん
07/06/17 04:44:17
メインとなる構造体のポインタを取得するシステム関数があるのでそれを使う手もあります
496:デフォルトの名無しさん
07/06/17 05:49:08
global/staticが使えるようになるelf2modはみんなあまり使っていないのか?
497:デフォルトの名無しさん
07/06/17 06:20:20
やば、そうだよそれすっかり忘れてた
498:デフォルトの名無しさん
07/06/17 11:27:18
グローバル変数量産されても困るんで、うちではとりあえず使わない方向で。
つか普通に組む分にはグローバル変数なんてなくても困らないし。
499:494
07/06/17 12:03:20
ありがとうございます。
elf2modの情報がイマイチ見つからないんですが、
コンパイルやmodファイルの作り方によるってことでしょうか。
とりあえずエミュレータ段階では使えるっぽい。
iアプリとSアプリしか作ったことないんですが、
brewめんどくさそうですね。色々。
500:デフォルトの名無しさん
07/06/17 17:38:47
javaにもグローバル変数は無いだろ
501:デフォルトの名無しさん
07/06/19 16:54:04
BREWのAPI上で、
入力された文字列(かな)に対する漢字データをATOKから
引っ張りたいだけど可能?
※全角入力の際の画面遷移をせずに漢字を入力させたい
502:デフォルトの名無しさん
07/06/19 18:46:38
ATOKとは何事ぞ
無理
503:デフォルトの名無しさん
07/06/19 21:43:30
むしろそういうエクステンションとか作ってください
504:デフォルトの名無しさん
07/06/19 23:56:23
>>500
グローバル変数はないが、クラス内でstaticなオブジェクトが使える。
Java→Brew移植する時に面倒だったけど、新elf2modのおかげで楽になった。
505:デフォルトの名無しさん
07/06/20 02:37:34
>>504
だから、それはglobal変数じゃないだろって話だろ。
506:デフォルトの名無しさん
07/06/20 03:32:17
>505が意味不明なんですが
507:デフォルトの名無しさん
07/06/20 08:30:36
意味が解らない事で何か問題がありましたか?
508:479
07/06/20 17:57:20
IBITMAP_DrawHScanline()
Yがビットマップ範囲外の時はクリップされず、
メモリぶっ壊してました。
509:デフォルトの名無しさん
07/06/21 18:04:42
Javaのようにintを文字列に変換したり、文字列をintにしたり、
勝手にサイズが拡張されるHashtableみたいなものは、
BREWだと自分で作らないといけないのでしょうか?
510:デフォルトの名無しさん
07/06/21 18:43:43
人が作ったものもあります。
511:デフォルトの名無しさん
07/06/21 19:11:10
それはBREWのAPIにあるってことでしょうか、
それとも、それとは別にラッパーみたいのがあるのでしょうか?
512:デフォルトの名無しさん
07/06/21 23:23:36
APIリファレンスも見ないで開発するのでしょうか?
513:デフォルトの名無しさん
07/06/22 07:26:08
日本語版がないからといって、BREW SDKの3.1.2より上へのアップデートをしない会社のせいで
BREW Debuggerが使えない。
514:デフォルトの名無しさん
07/06/22 08:31:36
BREW4.0.0のリリースノートを見ると
バグ情報が面白いので使う気にならない(´・ω・`)
515:デフォルトの名無しさん
07/06/22 10:22:10
>>513
ちょwww日本で使ってくれないから日本語版がないんだろwww
516:デフォルトの名無しさん
07/06/22 16:51:13
>>509
こーいう事ではないのか?
int ATOI(char *pString);
SPRINTF(char *pString,"%d",int nInt);
517:デフォルトの名無しさん
07/06/25 20:13:36
すいません。質問させて下さい。
IWEB_GetResponseを使い、画像データを用意したバッファに取得完了後
バッファ(char*)をイメージインスタンスに変換する方法が分かりません。。。
教えて下さいエロい人 m( _ _ )m
518:デフォルトの名無しさん
07/06/25 21:43:31
イメージインスタンスがなんなのかエスパーしろと?
519:デフォルトの名無しさん
07/06/25 22:25:08
ISOURCEUTIL IASTREAM 等を使ってやるんじゃない?
520:デフォルトの名無しさん
07/06/25 22:57:00
BREW4.0でてるのね。
API増えてる思ったが、今までと同じような機能のAPI多くない?
混乱するな、これは
521:デフォルトの名無しさん
07/06/26 11:42:02
>520
OSから変わるんだよ。
ただ、細かい所が全然練れてないからバグも多い...とw
522:デフォルトの名無しさん
07/06/26 20:59:55
プリエンプティブ・マルチタスクになったのが最も大きな変化だが、
搭載端末がかなりの数出回るまでは、今まで通りBREW3.1で作って
4.0は若干の変更&リビルドで対応、恩恵にあずかれるのは当分先、
というのは想像に難くない。
523:デフォルトの名無しさん
07/06/26 22:09:47
ちょっと待てw
524:デフォルトの名無しさん
07/06/27 00:42:10
質問です
brewでは静的変数が使用できないそうですが
どういう意味で使用できないのでしょう?
参照専用の変数として静的変数を使用したいのですが
例えば
class {
static char const* msg(void){static chr msg[]={'m','s','g',0};return msg;}
};
といったコードも正常に動作しないのでしょうか?
(.dataセクションがない?)
525:デフォルトの名無しさん
07/06/27 01:01:05
>>524
> (.dataセクションがない?)
modファイルはそもそもセクションという概念が無い。
静的変数が使用できないのはkの陰謀とコンパイラの制限。
使おうと思えば使える。
526:デフォルトの名無しさん
07/06/27 09:52:17
クラスでの書き方はやってないので通るかわかんないけど
static const char msg[] = { 'm','s','g',0 };
指定にすればRVCTだとtextセクションに入るので
参照専用で使う事は可能
で、こういう領域で確保したtextセクションのメモリをキャストして
無理やり書き換えるのが大域変数を使う1つの方法。
つまり自己プログラム書き換えをしてconstな箇所を変数として使う。
もう1つはこういう一連の動作をプログラム起動時に自動的にしてくれて
大域変数、静的変数をコード内で普通に使えるよう解決してくれたのが最新のelf2mod
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5052日前に更新/203 KB
担当:undef