"go_0020w"ɂ                                 썇G kawai@imasy.org

E͉H

  gccčACC++̃RpCAъ֘Ac[̃ZbgłB

Eg(OSASKAṽNXJpƂ)

  test.bat悭ĂBԂAtest.batguigui00.rul̃pX𒼂΁A
Ɏgł傤BȂ݂helloc4ł́AlcĉقȂ悤łB

  test2.bat́AC++̗łBKɓǂŎQlɂĂBƑK
ȃvOɂȂAʖڂ܂(gcc̃^C̈ڐAKvɂȂ
܂)B

  cc1Acc1pluśAconstȃf[^.dataZNVɒu܂B܂cc1
plusgĂNɂǂł邱Ƃ͂܂B

  cpp0.exe̓vvZbT݂̂łBASKA̎ɕ֗ȂƎvĂƂ肠
܂B

  golib00w.exéACuAłBlcclib.exȇɎg܂B

[p@1]
prompt>golib00w out:(Cu) (IuWFNgt@C1)
		(IuWFNgt@C2) (IuWFNgt@C3) ...

  IuWFNgt@ĈƂ́ACuĎw肵Ă\܂BC
uɊ܂܂邷ׂẴIuWFNgt@Cw肵ƂƓɂȂ
B

[p@2]
prompt>golib00w ext:(IuWFNgt@C) (Cu)

  w肳ꂽCuAw肳ꂽIuWFNgt@C𒊏o܂B
  
[p@3]
prompt>golib00w (Cu) lst:

  w肳ꂽCúApublicV{ƏIuWFNgt@C̈ꗗ\
܂B

[p@4]
prompt>golib00w ext:* (Cu)

  w肳ꂽCúASẴIuWFNgt@CWJ܂B

  ȂAgas2naskuskip:`vƂG[oĎ~܂邱Ƃ邩
܂(̏ꍇo͂ꂽ\[X͕sł̂Ŏg܂)B̏ꍇ͐썇
܂ł₢킹ĂBgas2nasko[WAbv܂B̑[u͈S
߂ł̂ŁAȂɂƂ͂肢܂BEEEo[WAbv҂Ă
Ƃ́Ago_0005wɃohĂas.exeł΂炭pĂB

  AOSASK`AOSASK-MLɂ肢܂(OSASK-ML̓o[̂)B

    OSASK`  : http://koya.marokun.net/osask/form/

  sjisconv.exéA{VtgJIS܂ރeLXgRo[gāAGXP[vV[
PXɂ\ɒûłBł₱R[hNA
܂BǵA

prompt>sjisconv -s (̓t@C) (o̓t@C)

łBIvV-eɂƁAEUC[hɂȂ܂BƂEUC̓Ro[g
ĂGOŖ薳ʂƎv܂B

  fBNgw32clibćAwin32R\[p̃RpNgCpCułB
Ƃ͕ʂɍł肽ƎvĂ܂A肵Ă܂B

  ŁÃCugwin32R\[AvႪAhellofB
Ngɂ܂B

ECZXɂ

cc1.exe
cc1plus.exe
cpp0.exe
ld.exe
make.exe
upx.exe
6GPLł(lĂ˂ł)B

ld.exéA
http://prdownloads.sourceforge.net/mingw/MinGW-2.0.0-3.exe?download
_E[ĥUPXňk̂łB

cc1.exegcc-3.2̃\[Xč̂GPLłB
cc1plus.exegcc-3.2̃\[Xč̂GPLłB
cpp0.exegcc-3.2̃\[Xč̂GPLłB
cc1Acc1plusAcpp0AgolibAnaskAgas2nask̃\[Xgo_0020sƂOŃ[X
Ă܂B
http://www.imasy.org/~kawai/osask/developers.html
Ȃ\[XoCi͐Vo[Woƍ폜ꂽ]ڂ邩܂
BŐVo[W͏Ƀ_E[hłł傤B
go_0020s̑ɂAgo_0020pƂ̂܂Bgcc-3.2̃\[Xɑ΂鍷
ŁAKL-01KpĂ܂igo_0020sGPLjB

make.exe
http://homepage1.nifty.com/dreaming/osask/
_E[ĥupxňk̂łB

upx.exéA
http://upx.sourceforge.net
_E[ĥłB

GPL̃CZX́ACopyingł(p)B

̂ق̃t@ĆAKL-01ɏ]܂(쌠͐썇)B
CZXɂẮA
http://www.imasy.org/~mone/kawaido/license01-1.0.html
QƂĂB

Eӎ

  gcc̊J҂݂̂Ȃ܂ɐS̎ӎ܂Bgöꕔgcc̊J
҂̕XɔF߂ĂAȂɊƂ͂܂B

  GakustringCug킹Ă܂BGakuA肪Ƃ
܂B

  ܂J𒼐ڏĂꂽA[݂񂳂AhenohenoAOSASKR~je
B[݂̂Ȃ܁A肪Ƃ܂B

  ȂA썇2002.10.03`2003.02.28̊Ԃ̂Jʂ́AʔF@l 
UƋ (IPA) ́u\tgEFAnƖ[Xvł̈ϑƖɂ
̂łB̏؂ĎxƂɂĂ\グ܂B

EǂςH

< go_0000  go_0001 >

  go_0000włOSASK ver.3.0𖳎ɃRpCł܂񂪁Ago_0001w͂ł܂B
܂delaln32ȂǂƂƂtB^[svɂ܂BEEE܂A
.comm.lcom̏o͂.dataւ̏o͂ɐUւāA]v32oCgAC
ƂƂłBłɁAcpp0ɃRpNgɂȂĂ肵܂B

< go_0001  go_0002 >

  @\Iɂ͕ςĂ܂Bɓ(Ƃ\[X)go_0002wgŃRp
Cł悤ɃtbV܂B̒xłBTCY
    cpp0.exe    : 75.0KB  77.4KB
    cc1.exe     : 1.12MB  1.11MB
    cc1plus.exe : 1.35MB  1.33MB
ƁA(ŜƂĂ)ɏȂxłB

< go_0002  go_0003 >

  @\Iɂ͕ςĂ܂BNIvVςłBƂƂ
\[Xgo_0002sgĂBNIvV`[̂ŁA
ȂRpNgɂȂĂ܂(ނ덡܂łЂǂƂƂȂł)B
    cpp0.exe    : 77.4KB  41.5KB
    cc1.exe     : 1.11MB   856KB
    cc1plus.exe : 1.33MB  1.00MB
  ȂǍʂɖl͋C悭Ă܂āACuA(lcclib.exê悤ȃv
O)삵Ă܂ƍlĂ܂(ȒPȂ̂)BAwin32
̃J邩܂Bld.exesvɂȂ܂BEEE
܂łAMinGW̃CuؕKvƂȂ悤drv_w32ł傤B
ȂƁAlcc-win32MinGWg킸make.exeGOGOmakeł悤ɂ
܂B܂ɃCuǉĂ΁AMinGWɑgccnRpCZb
gɂȂ܂B
  Ƃ肠Ă̖ڕW̓CuA̍쐬NASK̗płB

< go_0003  go_0004 >

  @\Iɂ͕ςĂ܂񂪁A̔łld.exegolib00w.exemake.exeupx.e
xeoh܂BMinGW̃JƎ̊ȈՃCuAmakeupxłB
Ago_0004MinGW̃CugȂhCopӂ܂B́Akernel3
2.dll𒼐ڗpĂ܂BāAgo_0004sgo_0004wmakeł܂Blc
clibMinGW̃CuʓrpӂKv͂܂BɔAcpp0Acc1Ac
c1plus͂ꂼ4KBقǃRpNgɂȂ܂B
    cpp0.exe    : 41.5KB  37.5KB
    cc1.exe     : 856KB    852KB
    cc1plus.exe : 1.00MB  1.00MB
  NASK̗płBꂪł΁Aas.exeO܂B

< go_0004  go_0005 >

  ʌJɌAhLg܂BꂾłB

< go_0005  go_0006 >

  GOgas2nasknaskǉAasO܂B
    as.exe       : 233.5KB
    gas2nask.exe :   6.5KB
    nask.exe     :  27.0KB
Ȃ̂ŁA200KBقǃpbP[WȂ܂B܂naskasɔׂăAC
܂߂ɌvẐŁAnaskgăAZuăRpNgȃR[h
ɂȂ܂i̍͂킸łjBɂƂȂAGOgnaskg
Đ悤ɂ̂ŁAق̏RpNgĂ܂B
    cpp0.exe    :   37.5KB    37.5KB
    cc1.exe     :  852.5KB   851.0KB
    cc1plus.exe : 1026.0KB  1024.5KB
  Ȃld.exe̍蒼͎ԂƂꂻɂȂ̂œłB͂悢OSA
SKł[X܂B

< go_0006  go_0007 >

  sjisconvǉ܂B܂܂ƂāAnaskcnv0܂BASKA
glĝŁA{GOƂ͖֌WłB炨܂łB܂Agas2nask
short(WORD)̃T|[gŎアƂ낪̂ŁA܂B
  ܂I.Tak.̗v]ɂANASKɂ#Ŏn܂sRgƂĖ
ɂ܂BɁAAAMAADtɂȂĂƂoOC܂B

< go_0007  go_0009 >

  NASK̃oOCAgas2nask̃T|[g߂ɑ₵܂B܂łcc1
΂-OsŐ\[X݂̂T|[gĂ܂Ão[W
-O2łʂ悤ɂȂƎv܂B

< go_0009  go_0011 >

  gas2nask̃T|[g߂ɑ₵Ago_0010pɓĂnaskconv0܂
B

< go_0011  go_0012 >

  golib00stdc(golib00s)ǉ܂Bdrv_stdc܂ƂɂāAcc1
ǂLinuxȂǂłmakeł悤ɂ܂B

< go_0012  go_0013 >

  naskcnv0stdc(nskcn0bs)ǉ܂Bgo_0012̃oOC܂B

< go_0013  go_0014 >

  gas2naskstdcŁigas2nsksjǉ܂B

< go_0014  go_0015 >

  naskstdcłǉ܂B

< go_0015  go_0017 >

  gas2naskfsubrsoOC܂B

< go_0017  go_0018 >

  gas2nask̃oOC܂ifistpsAfistsAfildsAstoslAfabsAfucompA
fistpsAfdivsjBwin32-consolep̊ȈՃCuǉ܂B

< go_0018  go_0019 >

  ohĂwin32pAOSASKp̃Custdlib.hɃoÔŏC
܂B̃t@C͕ύXȂłB

< go_0019  go_0020 >

  golib00wp[AbvāAuȈՁvł͂ȂlÕCuAɂȂ܂
BŃCũeiXRɂł܂B
  w32clibcsystem֐̃T|[g܂B
  stdcłsjisconv܂B
  OSASKłłcc1WORKOVERoɂȂ܂B
  \[Xxł̉āAgołgcc(stdc)ł̈ႢAinclude/rule.mak
܂B
  stdcłł́ApĂ֐ȑO128ւƂɌ܂B
    fopen, fclose, fread, fwrite, fseek, ftell, malloc, exit
́Aȉ6֐邾łłB
  GOLD_getsize(t@CTCY擾),
  GOLD_read(t@C̃oCi[h[h -- ꊇŃt@CŜǂނ),
  GOLD_write_b(t@C̃oCi[hCg -- ꊇŃt@CŜ),
  GOLD_write_t(t@C̃eLXg[hCg -- t@CƂ͈ꊇA
                  R\[ւ̃bZ[Wo͂̏ꍇ͉xĂ΂ꂤ),
  GOLD_exit(exitƂȂ),
  malloc(mallocƓ)
mallocɂĂ͂ꂼmain()̒ōŏ1Ăł邾ł̂ŁAmalloc
ƂčȂĂ։\łB
  OSˑhCoASʉ܂Bnaskgas2nasksjisconvȂǂ̃fBN
g𐮗āAς₷܂B2_ɂāA@\ɂ
A\[X25KBȏ㏬ȂAt@C3AfBNg7Ă
܂B
