TOPy[W > TOP > > vOJ
@wywm@z[y[W

@@wywm@@
@|vOJ|@@
ŏIXVF2025N11

@q㖖ɋgcDɂ菑ꂽMukRv̖`ɁA
‚ÂȂ܁TɁA炵ɌЂāASɂ‚䂭悵ȂƂ͂ƂȂt΁A₵قB
ƏĂ܂Bv܂܂ɂ͂ƂȂAGfB^Ƀ\[XEvOłŁÂ܂܁Avʂ̎dĂΌƂ͂Ȃ̂łAŏɏꂽ\[XEvÔ܂܂ŊҒʂ̓ĂAƂƂ܂BȂɁAƌςݏd˂ĐɓȂƁAJɗ\O̎ԂAƎvĂۂɉ^pĂ݂ƃ{{AQƂɑΏs\ɂȂAƂ悤ȂƂN܂B\tgEFÁAقڈȉ̂悤ȗŁAJi߂܂A̒ŁA悭ĊmȎ菇Ői߂Kv܂B

(1) VXe݌v
@vOJ̍ŏɁAuVXe݌vvƌĂ΂H܂BvOJ_ł́AȂȂAvȎSeɂ‚ăC[WNȂ̂ʂłAŎ蔲Đɐił܂ƁAɋƂŊJi߂ꍇɑ卬Ɋׂ܂B

(a) \tgEFA̖ړǏ
@܂A\tgEFAȂ̂mFĂKv܂BƂōŝł͖cȍƗʂɂȂĂ܂ʓ|ȂƂȗ͉E킯łA
̂A
̂߂ɂ̂A
ǂĎ̂A
v͂ǂ̒x̂̂A
mFĂƂKvłB\tgEFA̖ړIlĂA쎞Ԃ̌Ă݂疳ӖAƂ悤ȂƂN܂B
@Ⴆ΁AVC\̃VXeJ悤ƂƂɁAen̂P̋C≷xȂǂ̃f[^Ď̓̓VC\̂ɕKvȏԂ10AƂ̂ł́A\tgEFASӖłBVC\񂪏oOɎ̓ɂȂĂ܂܂Bn[hEFA10{ȏ㍂Ȃ̂ɂ邩AvZASYHv邩A炩̃u[NX[KvɂȂ܂BȂ΁A\tgEFA̓eȗȂ̂ɂ邱Ƃl܂AOĂ΂̓VC\ł͂͂薳ӖłB

(b) \tgEFA̓\̌
@ɁAړIB邽߂ɕKvȍƂׂAǂ菇ōs܂B茟ĂȂƁAR[fBOƂɓĂ炤܂i܂AVXe݌v̂蒼AƂԂɒǂ܂܂B
@vÓAKP‚̃CE[`(
Cł́Amain()Ƃ֐)ŋLq̂ł͂ȂACE[`ɂ́A‚̃Tu[`ׁAe̍Ƃ̓Tu[`SAƂɂȂ܂BeTu[`܂‚̍Ƃɕ邩m܂BꂽƂAvO~OՂ`ɐz񂵁A݊֌WAʂĎgׂf[^EeADxAȂǂڍׂɌ܂BƂ`sĂłȂƍƂasłȂAƂb͍Ƃ`EƂǎʂ𗼕ƂgAƂ悤Ȋ֌WĂ܂BꍇɂẮAf[^ǂݎ聨f[^ʏóAƂ悤Ȉ{ł͏ŁAf[^ǂݎ聨ɕKvȊ‹ݒ聨‹ݒɊÂAf[^ǂݎyюʏóAƂ悤ɁAf[^ǂݎQJԂKvAƂ悤ȏꍇoĂ܂B܂sȂƁAf[^ŝɁAKvȊ{f[^ĂȂ߂ɃR[fBOłȂAƂ悤ȂƂN܂B
@Ⴆ΁A̓VC\ŌƁAf[^Ŋen͂̕vẐɗאڒn̋C߂ĂȂAƂAn̉xExɂ̉_̏󋵂vZłĂȂ̂Ɏ̎_̒n̉x߂ȂAƂAvZ̏܂ݒ肷Kv̂łB

(c) SʓIES̍\̌
@ɁAׂꂽƂ̊eǂ̂悤ɃvO~O邩܂BKvȃf[^Af[^\Af[^i[L̈AvZēf[^̏Af[^̌ʂ̎[̎菇Aʏo͂邽߂̃f[^̕ێ̎dAȂǂڍׂɌ܂B̏ŁAeƂǂ̂悤Ȋ֐ɂ܂Ƃ߂邩Ae֐̒łǂ̂悤ɏi߂邩A菇Et[`[ǧ`Ő܂B̐lŊJsꍇɂ́Ae菇EeƂNǂ̂悤ɒS邩S߂܂B
@SʓIȗ̒ɂ͌ȂĂAe֐̍sƂ̒ŋʁE邢͗ގ̏s؂oăTu[`܂B܂ATu[`Ăяoł̑OATu[`̈ATu[`ǂ̂悤ȃf[^ǂ̂悤ɕԂAAAƕAʂȍƂdAOdɍsƂȂ悤ɂ܂Bdɍŝł͂ȂĂA̒gGȏꍇATu[`đS̓Iȏ̗ꂪGɂȂȂ悤ɂꍇ܂B

@t[`[głȀɏĂƁAƂTu[`łӊOɏꏊƂAv悤ɏȂm܂Bŋ߂́u^R[hvƂl邻łB
CvO̍\̃y[Wɂ̈Ă̂ŎQlɂĂBCvȎ̍قƂ‚Aڍׂ̃R[fBOł͂ȂeĂAƂ̂łB

(d) \tgEFA̓ԗľ
@xvO̓emɂȂĂAs߂ɃvOɓ͂f[^̌`Ȃǂ܂Bf[^͂lōsꍇɂ́AGɂȂȂ悤ɁA~X荞܂Ȃ悤ɁA~XĂxł悤ɁAvO̓e܂BꍇɂẮAz肷ƃvO܂ΉłȂꍇoĂāAvO̎菇ČȂ΂ȂȂꍇoĂ܂B
@tsvZ|o@ŃvO~OĂAۂ̃f[^Ă݂ƁAs{bg[邢͐ΒlɏlɂȂĂ܂āAʂ[ȐxœȂA邢̓vOrœ~Ă܂˂ȂAƂƂAẢ@ɍHvȂ΂ȂȂAŜ̗ɉełĂ܂AƂ悤ȂƂN܂B
@ƂA炩ߎOɂ‚łƂ]܂̂łBsKȏꍇɂ́AR[fBOAfoOA邢͉^pJn_Ŕo_̂߂ɁAŜ̗̏ꎩ̂č\Ȃ΂Ȃ炸AvWFNgŏ蒼ɂȂ(Ȃǂ̂łAvWFNg~EJsƂƂ蓾܂)AƂ悤ȂƂN܂B
@܂Ao͌`A[U[ʂՂՂ`ŏo͂ł悤ɁA܂̂悤ɏo͂邽߂̓f[^̕ێ̎dȂǂKv܂B
@ȏ̓eA͎dlAo͎dlAŜ̗Lq{dlAlŊJꍇɕKvƂȂTu[`̌Ăяo@ڍ׎dlȂǂ̌`ł܂Ƃ߂܂B

(2) R[fBO
@ł΁AꓖIɓDꎮɃR[fBOi߂̂ł͂ȂAbIȕ珇foOs悤ɁAJɕKvƂȂTu[`Qɂ‚āAR[fBOǂꂭ炢iłǂꂭ炢foOiŃeXgĂ邩AƂƂŽH\čƂ̐i󋵂Ǘ邱Ƃ]܂܂BlŊJsꍇɂ́Ai̒xɐl͂𓊓Kv܂B
@R[fBOɓẮA\[XER[hATABȂǂpāA
        int sub1(int j1, char *p1) {
            int     j2, ret;
            char    c1;
        
            while (c1 = *p1++) {
                for (j2 = 0; j2 < j1; j2++) {
                    if (ret = sub2(c1, j2)) return ret;
                }
            }
            return 0;
        }
Ƃ悤ɁA'{'oĂxɁAE1TAB(LTAB1‚ŋ4•ɂĂ܂BTAB1‚ŋ8‚ʂłAGfB^łsӂNÂ炭Ȃ܂)ssA菇ՂȂ悤ɋLq̂AlŋƂƂ̃G`PbgłB
        int sub1(int j1, char *p1){int j2,ret;char c1;while(c1=*p1++){for(j2=0;j2<j1;j2++){if(ret=sub2(c1,j2))return ret;}}return 0;}
Ƌl߂ďĂARpCē삳邱Ƃ͂ł܂Ał́Å֐ǂ̂悤ɓ삵Ă̂AĂ邾ł͂킩܂B\tgEFAA^pɏQNQ𒲂ׂ邽߂ɁȂO҂\[XER[h𒭂߂ƂƂ͂悭邱ƂȂ̂ŁAΗǂAƂ킯ɂ͍s܂BAAL͎Ȃ̏ŁÂ悤ȎLq̕@lɂقȂ܂BŊJȂAŒ߂ėłΗǂłAl̃vWFNg̏ꍇɂ́Ao[ԂœꂵĂȂƍ̂ƂɂȂ܂B
@܂AvO~O@ŁA\vO~Oƌ̂łA\̂ݐɋLqāA̒gɗ͊֐ƂċLqAƂvO~O̎d܂B܂AlɂẮAgoto֎~AƂl܂Bl̍lłAՂ邱ƂŁApĕɂȂ̂ɎȋK͎̂ꎩŋtʂł͂ȂAƎv܂B́A\̒ɁAƂȂĂXƏA˂邱Ƃ邵AgotoϋɓIɎg܂BAAgotoHv͂܂BႦ΁AgotogāA
        for (j1 = 0; j1 < limit; j1++) {
            if (strcmp(array[j1], "normal") goto error_process;
        }
                
        return 0;
        error_process:
        return -1;
Ƃ悤ɂȂꍇɁA
        j2 = 0;
        for (j1 = 0; j1 < limit; j1++) {
            if (strcmp(array[j1], "normal") j2 = 1;
        }
        if (j2) return -1;
        else {
                
        }
        return 0;
Ƃ΁Agoto邱Ƃł܂BłAgotogȂƂŋpČɂȂ̂ł΁AKɔF߂Ăgoto̎gp͉獷xȂƁA͎v܂B
@܂AwhileAifAforgꍇAR[fBOɁA
        while () {}
Ƃ
        if () {}
        else {}
ƂA
        for () {}
ƐɁA()A{}yAɂĐɏĂ܂ƂNZ‚悤ɂ܂傤B
        while (c1 = *pc1++) {
Ƃ܂܁A̎̍s珈eĂ܂ƁAwhile[vI'}'YĂ܂~XՂ̂łBeꍇA'{'ɑΉ'}'Ȃ߂ɁARpC_ŕsŽvcȃG[oȂ߂J邱ƂɂȂ肩˂܂B@\ȃGfB^AႦΎ̎gĂMIFESƂGfB^ł́A
        while (
ƃ^CvC_ŁAyAƂȂ')'tāAI
        while ()
ƂĂ܂B܂A
        while (c1 = *pc1++) {
        
        }
ƂȂĂƂɁA'}'̂ƂɃJ[\ĂƁAO'{'ŕ\āAΉJbRĂĔɕ֗łBłAAWORDȂǂŁA\[XER[hłޏꍇɂ́A֗ȋ@\͂Ȃ̂ŁA[ɒӂĂB

(3) foO
@R[fBOƂIARpCɈڂ܂B삵G[̗ʂɑނm܂Błwǂ^CvE~XŐ[ȃ~X͂ނ܂łBˆ•ЂÂčs΁A‚͏I܂B̌oł́ARpCEG[ŕɂG[́A'{''}'ΉĂȂƂɂ̂łBΉĂȂAƂbZ[Wł͂ȂAƕIȍɂG[EbZ[WԂ̂ŁAȂȂ‚߂ȂAƂƂ悭܂BRpCC邽тɈXA

gcc -c new_project.c
gcc -c subroutines1.c
gcc -c subroutines2.c
gcc -c subroutines3.c

ƃ^CvĈł͖ʓ|łBCł́AmakeƂ֗ȋ@\pӂĂ܂BmakefileƂeLXgEt@CɁAsvOnew_project.exe邽߂ɉKvAƂƂLqĂƁAmakeƃ^CvC邾ŁAKvȍƂsĂ܂Bmakefile͊{Iɂ́A
^[Qbg: ^[Qbgˑt@C
R}h
Ƃ`ŋLq܂B^[QbgA^[Qbgˑt@C̕VƁA̍sɏꂽR}hs܂BR}h́A[TAB]ă^[Qbg牺ċLq܂Bnew_project.cCsubroutines1.cCsubroutines2.cCsubroutines3.cʂ̃CN[hEt@Ccommon_inc.hCN[hĂāAꂼRpC邱ƂɂAnew_project.oCsubroutines1.oCsubroutines2.oCsubroutines3.o𐶐Ƃ܂BɁAnew_project.oCsubroutines1.oCsubroutines2.oCsubroutines3.oN邱ƂɂAst@Cnew_project.exeƂ̂ł΁Amakefile̓éA

new_project.exe : new_project.o subroutines1.o subroutines1.o subroutines3.o
gcc -o new_project.exe new_project.o subroutines1.o subroutines2.o subroutines3.o 2>newl.log
new_project.o : new_project.c common_inc.h
gcc -c new_project.c 2>newc.log
subroutines1.o : subroutines1.c common_inc.h
gcc -c subroutines1.c 2>sub1.log
subroutines2.o : subroutines2.c common_inc.h
gcc -c subroutines2.c 2>sub2.log
subroutines3.o : subroutines3.c common_inc.h
gcc -c subroutines3.c 2>sub3.log

ƂȂ܂BgccR}h́Agcc -cƂ΃RpCsAgcc -oƂƃNs܂Bmakefile̓eÂ΂낢Ƃł܂A{Iɂ́ALŏ[łBeR}h̃XgɁA2>newc.logƂ悤Ȃ̂‚Ă܂ARpCAÑG[EbZ[WWG[oɏo͂̂ŁA>̌ɏt@C_CNgďo͂ƂӖł(C̎v֐Q)BŁAǂ̃\[XEvOCĂAmakeƃ^CvC邾ŁARpCENs܂BG[oƂɂ́A_CNgt@CJ΁AG[emFł܂B

@RpCʂAst@C(gqexẽt@C)łA삳Ă݂܂B‹ϐPATHɁAst@CʒufBNgo^Ă̂łȂ΁Ast@C̈ʒutpXŎw肵Ďst@C^CvCċN܂BLnew_project.exe/home/user/newproɒuĂƂ́AJgEfBNg/home/user/newprołĂACYGWIÑR}h҂̂Ƃ납A
home/user/newpro/new_project.exe
Ɠ͂Kv܂Bۂɓ삳ĊҒʂ̌ʂ΃foOłAӐ[쐬ĂĂAȂȂҒʂɂ͓Ă܂Bprintf()\[XEvOɓāAvO̐is󋵂eϐ̒lj^邱ƂɂAvOCĂ͓mFƂƂJԂ܂BłAvO̖_łȂꍇ́AfoKgdb𗘗p邱ƂɂȂ܂Bڍׂ́AC̃foOQƂĂB
@foOƒAɁA‚߂ȂoÔƂɂ͐_Iɂ‚Ȃ܂A̍ƂAhs̊jSƌƂȂ̂ŁAɂ́AX|[c≹yŋC炵‚Š撣蔲܂B̌oŌƁAoO‚ނ̂1AƂ悤ȂƂ܂BoÔ̂AoO𒲂ׂ@l̂ɒԂ̔EςƍHvKvAƂƂ܂B嗝n̐w̓l̂ƓłB

(4) ^peXg
@foOƂAlXȓ̓p^[lXȃ^C~OʼnĂȂ삷悤ɂȂAۂɉ^pē󋵂mF܂Bő傫ȃguNĂ܂ƁAJsƂȂ肩˂Ȃ̂ŁAfoOƂ͊ɍsĂKv܂BAłĂAzs”\Ȕȃ^C~ÔȂǂɂāAVXeNbVĂ܂Ƃ܂BsVXê悤ȖcȊJpƐlKvƂ鋐VXełĂA2023N10Ao[WEAbvɁAԂ̍Ɨ̈sNđs̐U荞݂łȂȂA傫ȖNAƂႪ܂B

@肵ē삵Ă悤ɌĂA댯Ȍ܂蔲ēĂ邾AƂƂ蓾܂Bܘ_AQNƂɁA^ɑΉ邱ƂdvłA(1)(d)ŏqׂ悤ɁAڍׂȎdlcĂƂA}ȑΏsAڋq̐M邱Ƃɂ‚Ȃ܂B

(5)
@vO̓AfoOEeXg̓eȂǂɊւďڍׂɋLqc悤ɂ܂傤BꍇɂẮAVXeJA̕ɒԂ邩m܂BЉɒ񋟂ĎgĂ炤VXełȂAlIɎĝłĂAQꍇɂ́AȂ΂グɂȂ܂BAǂȁAƂԂ悤ɂĂB

@foỎߒŁAoǑǂƂŁAǂΏ̂AƂƂXVL^ɎcĂ̂AguNƂ̑Ώ̖ɗ܂BΏ̕@̂ɔAႢACCɂȂĂȂAƂƂ̂łBoOłĂA[U[ɃguwEꂽꍇA邢́A@\lj̍XVꍇɂ́ANAgueAłǂΏAƂXVc悤ɂ܂B


TOPy[Wɖ߂@@
TOP@@
wywmē@@
w̃y[W@@
̃y[W@@
yVuO@@
wywmuO@@
wywmtwitter@@
񍐃uO@@
vCoV[E|V[


yLz@LłB̊F܂̂x肽A낵肢܂B
yLz@L͂܂łłB

© 2005-2025@F(L)