åã¯ä»ã®ãšããã¯èš±å®¹ããŠè¯ããšæã£ãŠããŸãã
蚱容ããããªãå Žåã«ã¯ãã®çç±ãæç¢ºã«èª¬æããŠãããªããšè°è«ãå¹³è¡ç·ããã©ããŸãã
ããã§ã¡ãããšæŽçããŠãããŸãããã
https://msdn.microsoft.com/ja-jp/library/tcxf1dw6.aspx
hs 㯠Microsoft ã®æ¡åŒµãªã®ã§äœ¿ããªããŠæžãã®ãªã䜿ããªãã»ãããããšæããŸãã
åã¯ä»ã®ãšããã¯èš±å®¹ããŠè¯ããšæã£ãŠããŸãã
Windowsãšããå®¶ã®äžã§æ®ããéããæå€§ã®ããã©ãŒãã³ã¹ïŒæ§èœã ãã§ã¯ãªãïŒãåŸãããã«ã¯ãã®å®¶ã®äœæ³ã«ã®ã£ãšããªããšããšã³ããŠãŒã¶ãŒã«æäŸã§ããæºè¶³ãªãµãŒãã¹ãåŸãããªãäºãå€ã
ãã£ãã®ã§ãã¯ãã¹ã³ã³ãã€ã«ãã©ã®OSã§ãåãCLIçãªã³ãã³ãã§ãªãããããæ¡åŒµèšæ³ã¯ãããããªãããªãšããããŸãã
ææ³çãªåé¡ã§åé¿æ¹æ³ã ã£ãããã£ãšã¢ãã³ãªæ¹æ³ããããªãå¥ã§ããã©ã
ãã æ®å¿µãªã®ã¯åœã®MicrosoftãéœåãæªããªããšãŸãåæã«ä»æ§ãå€ããŠããŸãããšã»ã»ã»
MinGW çã®ä»ã®ã³ã³ãã€ã©ããµããŒããããããªããããã€ã³ãã ãšæããŸãã
ãµããŒãããªããªãMicrosoftåºæè¡šçŸã䜿ãããšã«ã¯åé¡ãªãã§ããããµããŒããããªãæ¡ä»¶ã³ã³ãã€ã«ãããªãã
Microsoftåºæè¡šçŸãé¿ãããªãã®å¯Ÿå¿ãå¿
èŠã§ãã
MinGWããµããŒãããåæã§èããŠããã®ã§ããã
ãµããŒãããªããŠãããšèããŠããŸããïŒ
MinGW
ãã¡ãã®ã³ã³ãã€ã«ããµããŒãããããŸããæäŸã§ããæ©èœã«å¶éãåºãããŸãã¯msãšãããã£ã³ã°ããŠããããã¹ã€ãããå¢ããŠãããªããããã£ãMinGWãããŠãŠãããã®ããªãšãããããããããŸããã
åã«ææ³çãªãäœæ³å®ã£ãŠæšæºèªãã€ãã£ãŠããããMinGW䜿ãã²ãšãšã亀æµã§ããã®ã§ããã°æ¹èšäœ¿ããªãã»ããããããªãšã
çŸã«ããŸMinGWã§ãã³ã³ãã€ã«ã§ããããã«ããããã«ãªãŒããŒãããããã£ãŠãããããã
ã³ããã¿ãŒã§ã¯ãªãã®ã§ãã®ãããã®æž©åºŠæãç§ã¯ã€ãã¿ãããªããŠã
MinGWã¯CRTãšã㊠msvcrt.dll ã䜿ããŸãã®ã§ãprintf çã«é¢ããŠèšãã°ãã·ã¹ãã ã«å ¥ã£ãŠãã msvcrt.dll ã§ã©ã®æžåŒã䜿ããããšããåé¡ã«ãªããŸããæè¿ã® Windows ã§ã¯ããã¡ã€ã«å㯠VC6 çšãšåãã§ããäžèº«ã¯ VC2005 蟺ãã®ãã®ã䜿ãããŠããã®ã§ã¯ãªãããšæã£ãŠããŸãã(_stat64 ãªã©ãããã®ã§ã)
__USE_MINGW_ANSI_STDIO ãdefineããã°ãèŠæ Œæºæ 床ã®é«ã MinGW ç¬èªã® printf ã䜿ãããããã«ãªããŸãããMSæ¡åŒµæžåŒã«ã©ããŸã§å¯Ÿå¿ããŠãããã¯ç¥ããŸããã
ãŸãã©ã¡ãã«ããŠã "%I64d", "%hs" çã® VC6 ã®é ããããæžåŒãªã䜿ããããããªãã§ãããããã
èªåã®ã¹ã¿ã³ã¹ãææãè¿°ã¹ãããŠããã ããŸããšã
"%hs" ã«ã€ããŠã¯çŸç¶ã®ã³ãŒãã§æ¢ã«å€æ°äœ¿ãããŠããã®ã§ãä»ã®æç¹ã®è¿œå å®è£
ã§ãã®æžåŒã䜿ãããšã«NGãåºãã®ã¯ææå°æ©ã«æãã仮㫠"%hs" ã®å©çšã匟ãããã®ã§ããã°å
ã«æ¢åã³ãŒãã®æŽçãããã®ãå
ããã®åŸã®ã¬ãã¥ãŒã§ "%hs" ã匟ãããã®ã§ããã°çã¯éã£ãŠããã"%hs" ã¯åé¡ãªãåäœãããšæ³åãããããšãããšããã§ãã
%hsã«ã€ããŠãMinGWã§ã䜿ããããšããããšãåãã£ãã®ã§è°è«ã¯äžæŠçµäºããšèŠãŠããŸãã
vs2017ãã¡ã€ã³éçºç°å¢ãšãããçç±ã
Cèšèªã§windowsã¢ããªãäœããªããVC++ã䜿ãã¹ãã ãšèããŠããŸãã
ãªããªããCèšèªã§ã¢ããªãæžãã«ã¯OSã®è£œé å
ããæäŸãããããããŒãã¡ã€ã«ãå¿
èŠã§ã
windowsã®ããããŒãã¡ã€ã«(=SDK)ã¯VC++ã§ãã«ãããããšãæ³å®ããŠæžãããŠããããã§ãã
OSã®æäŸå
ãæå³ããéãã®ããããŒã䜿ãã«ã¯VC++ã䜿ããããªãããšããããšã«ãªããŸãã
microsoftãwindows sdkãvc++åãã«æžããŠããããšãæ£ãããã©ããããšããããšã¯å¥åé¡ã
ããŸã«ãæ°å¹ŽåãŸã§ã¯æ£ãããšãããŠããæ
å ±ããéæšå¥šãã«ãªã£ãŠãããšãããã®ãå¥åé¡ã
VC++ã§ã®éçºå¹çããæ¬æ°ã§èãå§ããŠããã®ã§ããã°ã
ATLãWTLã®æ¡çšãèŠéã«å
¥ã£ãŠãããšæã£ãŠããŸãã
ãããããšçã®å€ã MFC ãšæ¯ã¹ãATLã¯æ±ãããããšæã£ãŠããŸãã
ããªãè¿ãæªæ¥ã«å°å
¥ææ¡ãäºå®ããŠããæ©èœã®ããã€ãã¯ã
ATL::CComPtrã䜿ããã®ãšäœ¿ããªãã®ãšã§å®è£
æ¹æ³ãå
šç¶å€ãã£ãŠãã代ç©ã§ãã
ATLã¯MPLãšããäžçš®ã®ãªãŒãã³ãœãŒã¹ã§å
¬éãããŠããã®ã§ã
MinGWäºæã®ããã« å£åç CComPtr ãææ¡ããè
¹ç©ããã§ããŸããã
vc++ç¹åãèš±ããããªãæ¬å®¶ATLããã®ãŸãŸäœ¿ãããã§ãã
ATLã¯MPLãšããäžçš®ã®ãªãŒãã³ãœãŒã¹ã§å ¬éãããŠããã®ã§
WTLã¯ãªãŒãã³ãœãŒã¹ã§ãããATLã¯éããŸãã
WTLã¯ãªãŒãã³ãœãŒã¹ã§ãããATLã¯éããŸãã
ãã¿ãŸãããåã§ããã
atlã¯ç¡åé
åžã§å
¥æã§ããã ãã§ãã:cry:
å£åçCComPtrãNGã ãšãããšãvc++ç¹åãããªããããªâŠ
ãŒããäœãèšããªããŠãããããã®COMã€ã³ã¿ãŒãã§ãŒã¹ã®è©±ã¯åºãŠæ¥ããããªæ°ãããŠããŸãã
ãã®ãšããŸã§ä¿çã«ããã仿±ºãããã
MinGW ãšãããã GNU projects ã«ã¯è²ã ãäžè©±ã«ãªã£ãŠãæ°ãããã®ã§ããã«ãäºææ§ãç¶æããããšãäœãã®è²¢ç®ã«ãªãã®ãªãæ®ãããæ°æã¡ã¯ãããŸãããã«ãäºææ§ãç¶æããŠããåæ©ã¯ããŒãã«ãšã£ãŠãäœããã®è²¢ç®ã以å€ã®äœè ã§ããªããããªæ°ãããŸãã
ãªãã°ãä»ã®æ¹æ³ã§è²¢ç®ã§ããªãããšèããããã§ãã
ãœãŒã¹ããã«ãã§ããããšã¯ sakura ã®æ©èœãšã¯ç¡çžãªãã§ãã
ããã¹ããšãã£ã¿ãšããŠã®æ©èœã§äœããå
·äœçãªè²¢ç®ãããããšã¯ã§ããªãããšèããããã§ãã
ãããããã§ããããã«ãäºææ§ãç¶æããçç±ããªããªããšæããŸãã
GNUã«ã¯vimãemacsãããã®ã§ãããã¹ãç·šéæ©èœã§è²¢ç®ããã®ã¯é£ããæ°ãããŸãã
GUI ã®ãµã¯ã©ãšãã£ã¿ãªãã§ã¯ã®MinGW飿ºæ©èœãäœãäœã蟌ããã忥ã§ããæ°ãããŸãã
ã©ãã§ããããã
ã²ãšã€å€§äºãªç¹ãæžã掩ãããŠããã®ã§è¿œèšããŠãããŸãã
èªåã®èŠ³æž¬ç¯å²å ã§ã¯ã
ãšããç¹ããããŸããMinGW 察å¿ãæŽå²çã«ã©ã®ã¿ã€ãã³ã°ã§è¡ãããã®ãææ¡ããŠããŸãããããããžã§ã¯ãã®æ¹éãšããŠã©ãããçç±ã§ MinGW ã«å¯Ÿå¿ããããšããŠããã®ãã«ã€ããŠçµç·¯ããåç¥ã®æ¹ãããã£ããããŸãããæããŠããã ãããã§ãã
ãã«ãæ¹åŒãè€æ°ååšããããšã«ããæ°ãé£ãç¹ã倧ããå¢ããããšã¯è¶³äžŠã¿ãé ããããšããç¹ã§å€§ããªãã¡ãªããã§ãããšæããŠããŸããããããäžåãã¡ãªããããããšãããªãã°æ€èšã®äœå°ã¯ãããšèããŠããŸãã
MinGW ãšãããã GNU projects ã«ã¯è²ã ãäžè©±ã«ãªã£ãŠãæ°ãããã®ã§ããã«ãäºææ§ãç¶æããããšãäœãã®è²¢ç®ã«ãªãã®ãªãæ®ãããæ°æã¡ã¯ãããŸãããã«ãäºææ§ãç¶æããŠããåæ©ã¯ããŒãã«ãšã£ãŠäœããã®è²¢ç®ä»¥å€ã®äœè ã§ããªããããªæ°ãããŸãã
ãããã¯ãã¬ãŒããªãã®é¢ä¿ã«ããããšæããŸãã
ã©ã¡ããåªå
ãã¹ããã«ã€ããŠæ¹éãããçšåºŠå
±æããŠããå¿
èŠãããã§ãããã
å人çã«ã¯åŸè
ãåªå
ãããæ°æã¡ã匷ãã§ãã
æšæºèªã話ãäºã§ä»ã®ãããžã§ã¯ããçŽæ¥ãã¯éæ¥çã«åèã«ã§ãããåã³ä»ã®ãããžã§ã¯ããããœãŒã¹ãã€ã³ã¹ãã€ã€ãããããªãã£ãŠããšã¯ãããããªãšæããŸãã
ç§ã¯C++è¶ ãçŽ äººã§ããã³ããããŠãããœãŒã¹ãå šç¶å¥ãªèšèªã«èŠããããšããããŸã¥ã
ãã ã
ãšã³ããŠãŒã¶ã«å¯Ÿããã¹ããŒãã£ãŒãªæ¹ä¿®
ãã¡ãã軞ã§ä»ã®æ¹ã®åç»ã容æãªãæ¹èšäœ¿ãã®ãããã®ããªãšã
æšæºèªããã¹ãããã«ãªãŒããŒããããããã®ãªãã
ãããŸããç¹°ãè¿ããªæèŠã«ãªããŸããã
ããããã§ããäžæã« MinGW 察å¿ã®ã³ãŒããæ··ãã£ãŠããããšãåå ã§ããã®ãããžã§ã¯ã㯠MinGW ã«å¯Ÿå¿ããããšãåæã§éçšãããŠããããšãã誀解ïŒïŒïŒãæããŠãããšããã倧ãããšæããŸãããã誀解ã§ã¯ãªãã®ãããããŸãããã
ä»çŸåšã§ã®æ¹éãå®ãããšãããããããŸã§ã®çµç·¯ã¯äžæŠç¡ãã£ãããšã«ããŠãããŠãä»çŸåšã®ã³ããã¿éœåã§ãMinGW å¯Ÿå¿æç¡ã®æ¹éãæ¹ããŠæ±ºãçŽããããã®æž©åºŠæã§è¯ããšæã£ãŠãŸãã
ä»®ã«ãMinGW 察å¿ããªãããšããæ¹éã«ãªã£ããšããŠãå°æ¥ã®ã©ããã®ã¿ã€ãã³ã°ã§ MinGW 察å¿ã®åŒ·ãèŠæãããã°ãã®ãšãã«å¯Ÿå¿ãçŽãããšã¯å¯èœããšæããŸãã
æšæºèªã話ãäºã§ä»ã®ãããžã§ã¯ããçŽæ¥ãã¯éæ¥çã«åèã«ã§ãããåã³ä»ã®ãããžã§ã¯ããããœãŒã¹ãã€ã³ã¹ãã€ã€ãããããªãã£ãŠããšã¯ãããããªãšæããŸãã
æ¬ãããžã§ã¯ããæ¹èšããŒã¹ã®æžãæ¹ã«ãªã£ãŠãããšããŠããMinGW ããŒã¹ã®ä»ãããžã§ã¯ãã®ã³ãŒããåã蟌ãããšã«ã€ããŠã¯ããããäºææ§çã«åé¡ã¯èµ·ãããªããšèããŠããŸããKENCHjp ããã®èšãåãã䜿ããªãã°ãæ¹èšã«æšæºèªãæ··ããããšããã£ãŠãåäœäžãªããåé¡ã¯ãªããšããããšã§ãã
éã«ãæ¬ãããžã§ã¯ãã®ãœãŒã¹ã³ãŒãã®äžéšãä»ãããã¯ãã§åå©çšãããããªããšãããã®ã§ããã°MSç¬èªèšæ³ã¯é¿ããã»ããè¯ãã§ããããããããªããæ¬ãããžã§ã¯ãã®æ§è³ªã¯ãåå©çšãèŠæ®ããéšåã®æäŸãã§ã¯ãªãããããã¯ããã®ãã®ãåãããããšã«ããã®ã§ãç¬èªèšæ³ããããŸã§é¿ããçç±ã¯èŠåœãããªããšèªåã¯èããŠããŸãã
@kobake ããã®æèŠã«ã»ãŒåæã§ããã
å€ãªäŸãããŸããããæ¹èšã§ãä¹å·åŒã©ããã§äŒè©±ããŠãåã«ã¯ãæšæºèªãŸãã£ãŠããæ··ä¹±ããªããšã
æ±ååŒãæ··ãããšæ··ä¹±ãããããããªããã£ãŠæãã§ãããã
ãã æšæºèªã§è©±ããªããšãšèŠäžãäžéšã®äººãããããšãããã®ã§ã@m-tmatma ã®ãææã®éãäžçšæã«MSç¬èªä»æ§ã䜿ããªãã«ãããããšã¯ãªãããªã£ãŠããã®ã¯çããåæãªã®ããªãšã¯æããŸããïŒã§ãããïŒïŒ
確ãã«ãããŸãç¹æ®ããããã®ã¯äœ¿ããããªãã§ããã
æ¹èšã䜿ã䜿ããªãã«ã€ããŠã¯ãŒããã€ããã§ç¡çã«çµ±äžããããšã¯ããã«ã䜿ãããšããã¯äœ¿ããããã®æãã§æè»ã«éçšããŠããããã§ããéæãé°å²æ°ãã§å€æãããããã§è¯ããšæã£ãŠãŸãã
ã³ã³ãã¥ãŒã¿ãæ±ãäžã§ãé°å²æ°ãã®ãããªææ§ãªèãæ¹ãå«ãã人ãäžå®æ°ããããšãèªèããŠããã®ã§ãããã¡ã³ããã³ã¹ã«é¢ãã人ã人éã§ãã以äžã¯é°å²æ°ã§ãããªã«éçšããŠããã®ãã¹ãã¬ã¹ãªãåæ»ã«é²ããæ¹éãšããŠæªããªããšæã£ãŠããŸãã
ä»åŸãæ¹èšåšãã®åé¡ã¯äœåºŠãåºãŠãããšæããŸãã
ãã®åºŠã«ïŒäººã«ãã£ãŠã¯é¢åãããããŸãããïŒå¿
èŠãšããã°éæè°è«ããŠãããŸãããã
æ¹èšãåºç¯å²ã«åæ£ããªãããã«äœãããã®ã©ãããŒãäœã£ãŠæ¹èšãäžç®æã«éçŽãããšããéçšãå Žåã«ãã£ãŠã¯ãã¿ãŒãªéžæã«ãªããšæã£ãŠããŸãã
P.S.
ãæ¹èšããšããèšãåãã¯æåæ°å°ãªãããã¶ãéœéœ¬ãªãçã«æå³äŒãããšæãã®ã§å²ãšæ°ã«å
¥ã£ãŠãŸãã
ãã®è°è«ã®çµçç¹ã¯ãä»ã®æç¹ïŒä»åŸã¯ããŠããïŒã§ MinGW ããµããŒããããã©ãããã ãšæããŸãã
ããã«ã€ããŠã³ã³ã»ã³ãµã¹ãåãããã¯ããŒãºããŸãããã
@berryzplus ããã«èª¿ã¹ãŠããã£ãæ å ±ãããã ããŸããã®ã§ããã«è²Œã£ãŠãããŸããè°è«ã®ææã«ããŠããã ããã°ãšã
ãã°èŸ¿ã£ããçè·¡ãæ®ã£ãŠãŸããã
ã©ãã2009幎ã«å ¬éããã blog èšäºãã2012å¹Žã«æŸã£ãŠã2013幎ã«åã蟌ãŸããããã§ãã
å ãã¿ã¯ mac äžã® MinGW ã§ãã«ãããŠéãã§ããã ãã®æš¡æ§ã
upatchid:271
Imp: MinGW32 ã³ã³ãã€ã«å¯Ÿå¿
話ã«åºãŠããŠãŸããããåæã®ãµã¯ã©ãšãã£ã¿ã¯VC++6.0ãšBCC5.5ã«å¯Ÿå¿ããŠããããã§ãã
ããããšã®äºææ§ã¯æ¢ã«ãªãã®ã§ãæãèŠãŠé¢é£ã³ãŒãã®ã¢ãŒã«ã€ãåãé²ããã®ãè¯ããšæããŸãã
https://github.com/sakura-editor/sakura/tree/master/btool
ãã® issue ãšã¯å¥ä»¶ã§ã察å¿ãããããŠã¿ãŠããããšæããŸãã(åªå
床ïŒäœ)
MinGWã«ã€ããŠã¯ããŒããçé¢ç®ã«èãéããŠããªããšããææã§ããã
ããããã人ãããã°ããã°ãããã§ãã
çŸåšãããèŠãŠã人ã®äžã« MinGW ã§ãã«ãããã人ãããªããªãæ°ã«ããªããŠãããšèããŠããŸãã
MinGWåãã³ãŒãã®å€§åã¯æ¬äœã«é£ã蟌ãã§ããã®ã§ã
åã«ã¢ãŒã«ã€ãããããšãã§ããªãèªèã§ãã
ãã® issue ãšã¯å¥ä»¶ã§ã察å¿ãããããã¹ãã ãšèããŠããŸãã(åªå
床ïŒäž)
å°æ¥çã«ã¯ MSIX(#101) ã iOS ãandroid çã«å¯Ÿå¿ãããŠè¡ãããã§ããã
ä»ç°å¢ç§»æ€ãšéçºç°å¢(CRT ã®æ¹èš)ã¯å¥ã®è©±ã ãšæã£ãŠããŸãã
å¿
èŠãããã°åå¥ã«è°è«ã®å ŽãèšããŠè¡ãã°ãããšèããŠããŸãã
å¥ä»¶ã® #100 ã§ãè§ŠããŸããããããã°ããŒãã£ã³ã°ã§ããªãé åã¯ç¡çã«å¯Ÿå¿ããŠã誰ãåŸããããšãããšãŠãŒã³ãšããã®ãèªåã®èãã§ãã
話ã«åºãŠããŠãŸããããåæã®ãµã¯ã©ãšãã£ã¿ã¯VC++6.0ãšBCC5.5ã«å¯Ÿå¿ããŠããããã§ãã
ãã°æŒããŸããã
http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=unicode&ol=200711&tree=s44
åã®ã¹ã¿ã³ã¹ãšããŠã¯åœåãã VS äžææŽŸã ã£ãæš¡æ§ã§ãïœ
ãŒã¡ãŒã¡çµæ¯ã§ããã§ããïŒ
åœåã®è°é¡ã¯ã ms åºæã® ãã©ãŒããããã©ã¡ãŒã¿ ã蚱容ãããåŠãïŒã
ã§ã
ãMinGWã¯çµå± msvcrt.dll ã«äŸåãããããã®èŸºæ°ã«ããªããŠãããããããªãïŒã
ãšããçºèšããŠãŠã
ããããããã ãããã
ãšã¿ããªãçŽåŸããç¶æ
ã ãšæã£ãŠãããŸãã
ãŒãå人ã¯ããã£ãšã¬ã·ã¬ã· visualstudio äžæã®æ¹åã«é²ããŠããããåæ©ãæã£ãŠããŸããã
ããã¯ãã®è°é¡ãšã¯é¢ä¿ã®ãªã話ã ãšæã£ãŠããŸãã
é°å²æ°çã«æ¹èšèš±å®¹ã§è¯ãããã§ã¯ãããŸããã
ãã£ãã蚱容ã£ãŠããšã«ããŸããããã
ææ¥ãããã«ãã®æšãWikiã«ã§ãæèšããŠããã®Issueã¯ã¯ããŒãºããããšæããŸãã
@sakura-editor/sakura-developers ç°è«ãããã°ä»ã®ãã¡ã«ã³ã¡ã³ããïŒ
äžå¿å°æ¥çã«ãã®è©±ãã¶ãè¿ãããŠãããã¯ããã§æ§ããªãã§ããçŸæç¹ã§ã®æ¹éããŸãã¯æ±ºãŸãã°ãšã
ä»¥äž Wiki ã«éçºããªã·ãŒããŸãšããŠãããŸãã
https://github.com/sakura-editor/sakura/wiki/10.DevelopmentPolicy
ä»åã¯ãMSç¬èªã®æ¡åŒµèšæ³ã¯èš±å®¹ãããæšãèšèŒããŸããã
æ¬ Issue ã¯äžæŠã¯ããŒãºããŸãã
Most helpful comment
é°å²æ°çã«æ¹èšèš±å®¹ã§è¯ãããã§ã¯ãããŸããã
ãã£ãã蚱容ã£ãŠããšã«ããŸããããã
ææ¥ãããã«ãã®æšãWikiã«ã§ãæèšããŠããã®Issueã¯ã¯ããŒãºããããšæããŸãã
@sakura-editor/sakura-developers ç°è«ãããã°ä»ã®ãã¡ã«ã³ã¡ã³ããïŒ
äžå¿å°æ¥çã«ãã®è©±ãã¶ãè¿ãããŠãããã¯ããã§æ§ããªãã§ããçŸæç¹ã§ã®æ¹éããŸãã¯æ±ºãŸãã°ãšã