サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
3: 2010-01-31 (日) 17:44:02 lina ソース 4: 2010-02-01 (月) 07:46:19 lina ソース
Line 41: Line 41:
ここかなぁ・・・    func06_init(); ここかなぁ・・・    func06_init();
 +
 + void func06_init()
 + {
 +  UCHAR *p;
 +  func06str = malloc(sizeof (struct FUNC06STR));
 +  func06str->flags &= 0;
 +  func06str->usgs = 2;
 +  func06str->def_arg0 = 1;
 +  func06str->usg[0].tag[0] = '\0';
 +  func06str->usg[0].flg = 0;
 +  func06str->usg[0].usg[0] = '\0';
 +  func06str->usg[0].typ = 0xff;
 +  func06str->usg[1].tag[0] = '\0';
 +  func06str->usg[1].flg = 3;
 +  func06str->usg[1].usg[0] = '\0';
 +  func06str->usg[1].typ = 0xfe; /* 3:str */
 +  for (func06str->argv0 = p = *main_argv; *p != '\0'; p++) {
 +  if (*p == '\\' || *p == '/')
 +  func06str->argv0 = p + 1;
 +  }
 +  return;
 + }
 +
 +うーん。この関数って、内部にコマンドライン情報を格納するための構造体を定義して、さらに初期化してる・・・のかなぁ???
 +
 +102行目がそれかな。ここでFUNC06STR構造体を定義。さらに108行でそれをグローバル変数として生成・・・かなこれ?~
 +COLOR(blue){おっと!FUNC06STR内に、さらにFUNC06STR_SUB00構造体が入ってる。入れ子になってるのか}
 +
 +***FUNC06STR構造体 [#u5ca8f2e]
 +
 +|0 |usg|tag(32文字?)|usg(32文字?)|def(32文字)|typ(1文字)|flg(1文字)|dmy_c(2文字)|def_int(int×1)|dmy_i(int×6)|
 +|1 |usg|tag(32文字?)|usg(32文字?)|def(32文字)|typ(1文字)|flg(1文字)|dmy_c(2文字)|def_int(int×1)|dmy_i(int×6)|
 +|2 |usg|tag(32文字?)|usg(32文字?)|def(32文字)|typ(1文字)|flg(1文字)|dmy_c(2文字)|def_int(int×1)|dmy_i(int×6)|
 +|>|>|>|>|>|>|>|>|>|CENTER: ・ |
 +|62|usg|tag(32文字?)|usg(32文字?)|def(32文字)|typ(1文字)|flg(1文字)|dmy_c(2文字)|def_int(int×1)|dmy_i(int×6)|
 +|63|usg|tag(32文字?)|usg(32文字?)|def(32文字)|typ(1文字)|flg(1文字)|dmy_c(2文字)|def_int(int×1)|dmy_i(int×6)|
 +|>|>|>|>|>|>|>|>|>|LEFT:def_arg0(int×1)|
 +|>|>|>|>|>|>|>|>|>|LEFT:flags(int×1)|
 +|>|>|>|>|>|>|>|>|>|LEFT:usgs(int×1)|
 +|>|>|>|>|>|>|>|>|>|LEFT:*argv0(ポインタ)|
 +|>|>|>|>|>|>|>|>|>|LEFT:argv_f(256文字)|
 +|>|>|>|>|>|>|>|>|>|LEFT:argv_all(6万5千文字)|
 +
 +-func06_initはなにをやってるのか?(ヘタレの予測)
 +--メモリをmallocを使って確保(全部でいくつになるんだこれ?掛け算ややこしいのでパスwww
 +--flagsをゼロに(なんで?)
 +--usgsを2に(とりあえず、引数は二個だよってことで初期化かな)
 +--def_arg0を1に(なんだろこれ。defっていうくらいだから、省略時の規定値・・・かな?)
 +--以降、とりあえず2列、usg(FUNC06STR_SUB00構造体)に値を当て込んでいる
 +---tag[0]に0を。(tagは文字列なので、頭に0を入れて空文字ってことにする?)
 +---flgを0に。(なんだろう。flgかぁ。なにを表すものかな?)
 +---usg[0]に0を。(同じく空文字化だと思う)
 +---typを0xffに(0xffはなんだろう?0xfeは文字列引数ってことらしいが・・・)
 +--次にforループはなにしてるんだろう? *main_argvって、たぶん与えられた引数(コマンドライン)丸々を格納している変数のポインタだと思うんだけど・・・文字列内に / か \ があったらargv0を一個増やす・・・いや違うなぁ

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。