
çŸæç¹ã§ã¯ãPVS-Studioã¢ãã©ã€ã¶ãŒã«ã¯ãã§ã«èª€æ€ç¥ãæå¶ããã¡ã«ããºã ïŒFalse PositiveïŒããããŸãã ãã®ã¡ã«ããºã ã¯ãæ©èœçãªèгç¹ããç§ãã¡ã«å®å
šã«é©åããŠããŸãã 圌ã®äœåã®ä¿¡é Œæ§ã«ã€ããŠäžæºã¯ãããŸããã ãã ããäžéšã®ãŠãŒã¶ãŒãšã¯ã©ã€ã¢ã³ãã¯ããæ°ãããã¡ãã»ãŒãžã®ã¿ã§ã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžãæäœã§ããããã«ããããšèããŠããŸããã æ°ããæžãããã³ãŒãã å€§èŠæš¡ãªãããžã§ã¯ãã§ã¯ãã¢ãã©ã€ã¶ãŒãæ¢åã®ã³ãŒãã«å¯ŸããŠæ°åãŸãã¯æ°äžã®ã¡ãã»ãŒãžãçæããå¯èœæ§ãããããã¡ããç·šéãããªãããšãèãããšããã®èŠæã¯å®å
šã«çè§£ã§ããŸãã
äœããã®æå³ã§ã¡ãã»ãŒãžããåœããšããŠããŒã¯ã¢ããããå¯èœæ§ã¯ããæ°ãããã¡ãã»ãŒãžã§ã®ã¿åäœãããšããæ¬²æ±ãšäº€å·®ããŸãã çè«çã«ã¯ãèŠã€ãã£ããã¹ãŠã®ã¡ãã»ãŒãžããåœããšããŠããŒã¯ããããšã劚ããããšã¯ãªããå°æ¥çã«ã¯æ°ããäœæãããã³ãŒãã®ã¡ãã»ãŒãžã®ã¿ãåŠçããŸãã
ãã ããã誀ã£ãã¡ãã»ãŒãžããããŒã¯ã¢ããããæ¢åã®ã¡ã«ããºã ã«ã¯ãåºæ¬çãªãŠãŒã¶ããªãã£ã®åé¡ãããïŒããã«ã€ããŠã¯åŸã§èª¬æããŸãïŒããã®åé¡ã解決ããããã«å®éã®ãããžã§ã¯ãã§äœ¿çšãããšé害ã«ãªãå¯èœæ§ããããŸãã ç¹ã«ããã®æ¢åã®ã¡ã«ããºã ã¯ã倧éã®ããŒã¯ã¢ããã®äœ¿çšãæå³ãããã®ã§ã¯ãããŸããã倧éã®ããŒã¯ã¢ããã¯ãæ°åã®ã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžãåŠçããéã«é¿ããããŸããã
äžèšã®åé¡ã¯æ¢åã®æ¹æ³è«ã®åºæ¬ã§ãããšããäºå®ã«ãããåãæ¹æ³è«ãç¶æããªãããããæé€ããããšã¯ã§ããŸããã ãããã£ãŠããã®åé¡ã解決ããããã®ä»£æ¿æ¹æ³ãå®è£
ããå¯èœæ§ãèæ
®ããããšã¯çã«ããªã£ãŠããŸãã
誀æ€ç¥ãæå¶ããã¿ã¹ã¯ãšã以åã®èµ·åã®çµæãæå¶ããã¿ã¹ã¯ã
ãœãŒã¹ã³ãŒããšã¢ãã©ã€ã¶ãŒèšºæãæ¯èŒããã¡ã«ããºã ã¯ããœãŒã¹ã³ãŒãã®è¡ãç¹å®ã®ã¢ãã©ã€ã¶ãŒèšºæãšäžèŽãããæ©èœãæå³ããŸãã ãã®å Žåããã®æ¥ç¶ãé·æéç¶æããããšãéèŠã§ãããã®éããŠãŒã¶ãŒã³ãŒããšã¢ãã©ã€ã¶ãŒã®èšºæåºåã®äž¡æ¹ã倿Žãããå¯èœæ§ããããŸãã
ãœãŒã¹ã³ãŒããšèšºæãæ¯èŒããã¡ã«ããºã ã䜿çšããŠã2ã€ã®åé¡ã解決ã§ããŸãã
- 誀æ€ç¥ãæå¶ããã¿ã¹ã¯ã ãŠãŒã¶ãŒã«ã¯ãç¹å¥ãªæ¹æ³ã§åœãšèŠãªãããã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžãããŒã¯ããæ©äŒãäžãããããã®åŸããã®ãããªã¡ãã»ãŒãžããã£ã«ã¿ãŒã«æããããšãã§ããŸãïŒããšãã°ãããããé衚瀺ã«ããŸãïŒã ãã®ããŒã¯ã¢ããã¯ããœãŒã¹ã³ãŒãã倿ŽãããåŸãå«ãããã®åŸã®ã¢ãã©ã€ã¶ãŒã®èµ·åæã«ä¿æãããå¿
èŠããããŸãã ãã®æ©èœã¯PVS-Studioã§é·ãéå©çšãããŠããŸããã
- ååã®èµ·åã®çµæãæå¶ããã¿ã¹ã¯ã¯ããŠãŒã¶ãŒã«ã¢ãã©ã€ã¶ãŒèµ·åã®ãæ°é®®ãªãçµæã®ã¿ã衚瀺ããæ©äŒãæäŸããããšã§ãïŒã€ãŸãã以åã®èµ·åã§ãã§ã«èŠã€ãã£ãçµæã¯è¡šç€ºãããŸããïŒã ãã®ã¿ã¹ã¯ã¯ã以åã¯PVS-Studioã«å®è£
ãããŠããªãã£ããããèšäºã®æ¬¡ã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã
PVS-Studioã«ã¯ããœãŒã¹ã³ãŒãå
ã®ããŒã«ãŒïŒç¹å¥ãªçš®é¡ã®ã³ã¡ã³ãïŒã«åºã¥ããŠããœãŒã¹ã³ãŒããšèšºæãäžèŽãããã¡ã«ããºã ããããŸãã ãã®ã¡ã«ããºã ã¯ãã¢ãã©ã€ã¶ãŒã³ã¢ã¬ãã«ïŒPVS-Studio.exeïŒããã³IDEãã©ã°ã€ã³ã§å®è£
ãããŸãã IDEãã©ã°ã€ã³ã¯ãã³ãŒãå
ã®ããŒã«ãŒã®åæé
眮ãå®è¡ãããã®ããŒã«ãŒã«ãã£ãŠåæçµæããã£ã«ã¿ãŒåŠçããããšãã§ããŸãã ã¢ãã©ã€ã¶ãŒã³ã¢ã¯ãã³ãŒãã«æ¢ã«ååšããããŒã«ãŒããããã¯ã¢ãããããŠãã®åºåã«ããŒã¯ãä»ããããšãã§ããŸããããã«ããã以åã®èµ·åããã®ã³ãŒãã®ããŒã¯ã¢ãããä¿æãããŸãã
æ¢åã®ã¡ã«ããºã ã®é·æãšçæãèæ
®ããŠãã ããã
å©ç¹ïŒ
- ç°¡åãªã«ãŒãã«ãšãã©ã°ã€ã³ã®å®è£
- ããŒã«ã®ãŠãŒã¶ãŒã®çŽæçãªäœ¿çšãæåã§ããŒã¯ã¢ããããæ©èœã
- ãŠãŒã¶ãŒã«ããã³ãŒãã®ãã®åŸã®å€æŽã«å¯Ÿããæ¥ç¶ãã³ãŒã-蚺æãã®ä¿åãä¿èšŒããŸãã
- ããŒã éçºã®ãç¡æããµããŒã-as ããŒã«ãŒã¯ãœãŒã¹ãã¡ã€ã«ã«æ ŒçŽãããŸãããã¡ã€ã«èªäœã®åæãšåãã·ã¹ãã ã䜿çšããŠããŒã«ãŒãåæã§ããŸãïŒããŒãžã§ã³ç®¡çã·ã¹ãã ãªã©ïŒ
æ¬ ç¹
- ãã®ã³ãŒãã®ããžãã¯ã«é¢é£ããªãç¹å¥ãªã³ã¡ã³ãã§ã³ãŒããè©°ãŸãããŸãã
- åé¡ã¯ãããŒãžã§ã³ç®¡çã·ã¹ãã ã䜿çšããå Žåãç¹å¥ãªçš®é¡ã®ã³ã¡ã³ãããªããžããªã«é
眮ããå¿
èŠãããããšã§ãã
- ã°ããŒãã«ãã¹ããŒã¯ã¢ããã§ã®ãœãŒã¹ã³ãŒãã®ç Žæã®å¯èœæ§ã
äžèšã®åé¡ã«ãããæ¢åã®ãããã³ã°ã¡ã«ããºã ã䜿çšããŠä»¥åã®èµ·åã®çµæãæå¶ããã¿ã¹ã¯ãå®è£
ããããšã¯ãå®çšçãªèгç¹ããäžå¯èœã«ãªããŸãã æ¢åã®ã³ãŒãããŒã¹äžã®ã¡ãã»ãŒãžã®ã質éãããŒã¯ã¢ããçšã
ã€ãŸããæ¢åã®ã¡ãã»ãŒãžãå§åããã³ãŒãã«20,000ã®ã³ã¡ã³ãã远å ãããããã®å€æŽããã¹ãŠèŠãã«ããŒãžã§ã³ç®¡çã·ã¹ãã ã«å
¥ããããšæã人ã¯ããŸããã
ã¡ãã»ãŒãžããŒã¿ããŒã¹ãã¡ã€ã«ã«åºã¥ããœãŒã¹ã³ãŒããšèšºæãäžèŽãããããã®æ°ããã¡ã«ããºã ã
åã«ç€ºããããã«ãæ¢åã®ã¡ã«ããºã ã®äž»ãªåé¡ã¯ããŠãŒã¶ãŒã®ãœãŒã¹ã³ãŒãã倿Žãããšããã³ãããã¡ã³ãã§ãã ãã®äºå®ããããã®ã¢ãããŒãã®æµãã«ç¹åŸŽçãªçãââã®äœå°ã®ãªãå©ç¹ãšãã€ãã¹ã®äž¡æ¹ããããŸãã 代æ¿ã¢ãããŒããå®è£
ããããã«ã¯ããŠãŒã¶ãŒã³ãŒãã®å€æŽãäžæ¢ãããªã³ã¯ãã¢ãã©ã€ã¶ãŒèšºæ-ãŠãŒã¶ãŒã³ãŒããã«é¢ããæ
å ±ããœãŒã¹ãã¡ã€ã«èªäœã§ã¯ãªããå€éšã¹ãã¬ãŒãžã«ä¿åããå¿
èŠãããããšãæããã«ãªããŸãã
ãã®ãããªæ¯èŒã®ããŒã¯ã¢ããã®é·æä¿åã¯ãã¢ãã©ã€ã¶ãŒèªäœã®èšºæãšãŠãŒã¶ãŒã®ãœãŒã¹ã³ãŒãã®äž¡æ¹ã§ãé·æéã«ããã倿Žãèæ
®ããåºæ¬çãªã¿ã¹ã¯ã§ãã ã¢ãã©ã€ã¶ãŒåºåã§ã®èšºæã®æ¶å€±ã¯æ ¹æ¬çãªåé¡ã§ã¯ãããŸããããã®ãããªèšºæã®ã¡ãã»ãŒãžã¯ãã§ã«false /äžå¿
èŠãšããŒã¯ãããŠããããã§ãã ãã ãããŠãŒã¶ãŒã³ãŒãã®å€æŽã«ããã以åã«ããŒã¯ã¢ãããããã¡ãã»ãŒãžã®ã忥ããçºçããå¯èœæ§ããããŸãã
ã³ãŒãããŒã¯ã¢ããã¡ã«ããºã ã䜿çšããå Žåããã®åé¡ã¯æããããããŸããã ã³ãŒãã»ã¯ã·ã§ã³ãããã倿ŽãããŠãããŠãŒã¶ãŒãïŒæå³çãªæ±ºå®ãŸãã¯ç¡ç¥ã«ãã£ãŠïŒãããåé€ãããŸã§ããŒã«ãŒã¯æ®ããŸãã ããã«ãçµéšè±å¯ãªãŠãŒã¶ãŒã¯ãã¢ãã©ã€ã¶ãŒãããã§èªãããšãç¥ã£ãŠããå Žåããã®ãããªããŒã«ãŒãæ°ããïŒãŸãã¯å€æŽãããïŒã³ãŒãã«è¿œå ã§ããŸãã
ã¢ãã©ã€ã¶ãŒã®èšºæã¡ãã»ãŒãžãæ£ç¢ºã«èå¥ããã«ã¯äœãå¿
èŠã§ããïŒ ã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžèªäœã«ã¯ããã¡ã€ã«åããããžã§ã¯ãããã¡ã€ã«å
ã®è¡çªå·ãããã³ãããã®èšºæãèŠã€ãã£ãåãçŸåšãããã³åŸç¶ã®ã³ãŒãè¡ã®ãã§ãã¯ãµã ãå«ãŸããŠããŸãã ãœãŒã¹ã³ãŒãã倿Žãããšãã®èšºæãæ¯èŒããã«ã¯ãè¡çªå·ãèæ
®ããªãããšã絶察ã«å¿
èŠã§ãã äºæãããææžã®ããããªå€æŽã§å€æŽãããŸãã
äžèšã®èšºæããªã³ã¯ãã®ã¹ãã¬ãŒãžããŠãŒã¶ãŒã³ãŒãã§å®è£
ããããã«ãããŒã«ã«ã®ãããŒã¿ããŒã¹ãã¡ã€ã«ããäœæãããã¹ã«æ²¿ã£ãŠé²ã¿ãŸããã ãã®ãããªãã¡ã€ã«ïŒæå¶æ¡åŒµåã®ãã¡ã€ã«ïŒã¯ãããžã§ã¯ããã¡ã€ã«ïŒvcproj \ vcxprojïŒã®é£ã«äœæãããããŒã¯ããããäžèŠãªã蚺æã®ãªã¹ããå«ãŸããŸãã 蚺æã¯è¡çªå·ãªãã§ä¿åããããããã®èšºæãèå¥ããããã¡ã€ã«ãžã®ãã¹ã¯ããããžã§ã¯ããã¡ã€ã«ã«é¢é£ããçžå¯Ÿåœ¢åŒã§ä¿åãããŸãã ããã«ããããããžã§ã¯ããå¥ã®å Žæã«å±éãããŠããå Žåã§ãïŒãã¡ã€ã«ã·ã¹ãã ã®èгç¹ããïŒãéçºè
ã®ãã·ã³éã§ãã®ãããªãã¡ã€ã«ã転éã§ããŸãã ã»ãšãã©ã®å Žåããããžã§ã¯ããã¡ã€ã«èªäœã¯åãçžå¯Ÿåœ¢åŒã§ãœãŒã¹ãã¡ã€ã«ãžã®ãã¹ãä¿åããããããããã®ãã¡ã€ã«ã¯ããŒãžã§ã³ç®¡çã·ã¹ãã ã«ä¿åã§ããŸãã ããã§ã®äŸå€ã¯ãCMakeã®å Žåã®ããã«çæããããããžã§ã¯ããã¡ã€ã«ã§ããããšãã°ãããœãŒã¹ããªãŒãã¯ããããžã§ã¯ãããªãŒããšã¯ç¬ç«ããŠé
眮ã§ããŸãã
次ã®ãã£ãŒã«ãã䜿çšããŠãæå¶ãã¡ã€ã«å
ã®ã¡ãã»ãŒãžãèå¥ããŸããã
- ã¢ãã©ã€ã¶ãŒã®èšºæã¡ãã»ãŒãžã®ããã¹ãã
- ã¡ãã»ãŒãžãšã©ãŒã³ãŒãã
- ã¡ãã»ãŒãžãèŠã€ãã£ããã¡ã€ã«ã®çžå¯Ÿåã
- ã¡ãã»ãŒãžãèŠã€ãã£ãã³ãŒããå«ãè¡ãšãã³ãŒãã®ååŸã®è¡ã®åèšã®ããã·ã¥ã
ã芧ã®ããã«ããœãŒã¹ã³ãŒãã®è¡ã®åèšã®ããã·ã¥ãæ ŒçŽãããŠãããããã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžããŠãŒã¶ãŒã³ãŒããšé¢é£ä»ããããšèããŠããŸãã åæã«ããŠãŒã¶ãŒã³ãŒãããã·ããããããå Žåãã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžãã·ããããŸããããã®ã¡ãã»ãŒãžã®ãã³ã³ããã¹ããïŒã€ãŸãããããå²ãã³ãŒãïŒã¯å€æŽãããŸããã ãŠãŒã¶ãŒãã¡ãã»ãŒãžãçæãããå Žæã§ã³ãŒããä¿®æ£ããå Žåããã®ãããªã³ãŒãããæ°èŠããšã¿ãªããã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžããã®ã³ãŒãã«è¡šç€ºããããšã¯è«ççã§ãã åæã«ãã¢ãã©ã€ã¶ãŒãã¡ãã»ãŒãžã§ææãããšã©ãŒããŠãŒã¶ãŒãæ¬åœã«ãä¿®æ£ãããå Žåãã¡ãã»ãŒãžã¯åã«ãæ¶å€±ãããŸãã ãã以å€ã®å Žåãçãããå Žæãä¿®æ£ãããªãå ŽåããŠãŒã¶ãŒã«ã¯åã³ã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžã衚瀺ãããŸãã
ãŠãŒã¶ãŒãã¡ã€ã«å
ã®ã³ãŒãè¡ã®ããã·ã¥ã«äŸåããããšã«ãããå€ãã®å¶éãçºçããããšã¯æããã§ãã ããšãã°ããŠãŒã¶ãŒããã¡ã€ã«å
ã«è€æ°ã®åäžã®ã³ãŒãè¡ãæã£ãŠããå Žåããã®ãã¡ã®1è¡ã ããããŒã¯ãããŠããŠãããã®ãããªè¡ã®ãã¹ãŠã®ã¡ãã»ãŒãžã¯æå¶ãããŠãããšèŠãªããŸãã 説æããæ¹æ³è«ã䜿çšãããšãã«ééããåé¡ãšå¶éã«ã€ããŠã®è©³çްã¯ã次ã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã
PVS-Studio IDEãã©ã°ã€ã³ã¯ãã¡ãã»ãŒãžã®æåã®ããŒã¯ã¢ããã§ææ¢ãã¡ã€ã«ãèªåçã«äœæããæ°ããçæããããã¹ãŠã®èšºæãææ¢ããŒã¿ããŒã¹ã«å«ãŸãã蚺æãšæ¯èŒããŸãã ãŸããå確èªåŸã«ããŒã¿ããŒã¹ã§æ°ããçæãããã¡ãã»ãŒãžãèå¥ãããå ŽåããŠãŒã¶ãŒã«ã¯è¡šç€ºãããŸããã
æ°ããæå¶ã¡ã«ããºã ã®äœ¿çšã«é¢ããçµ±èš
æ°ããã¡ã«ããºã ã®æåã®å®è¡å¯èœãªãããã¿ã€ããå®è£
ããåŸãå®éã®ãããžã§ã¯ãã§äœæ¥ãããšãã«ãã®ã¡ã«ããºã ãã©ã®ããã«è¡šç€ºãããããèªç¶ã«èŠããã£ãã®ã§ãã ãã®ãããªãããžã§ã¯ãã§ååãªæ°ã®å€æŽãèç©ããããŸã§æ°ã¶æããæ°å¹ŽåŸ
ããã«ãããã€ãã®å€§èŠæš¡ãªãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§éå»ã®ä¿®æ£ãããã€ãè¡ããŸããã
äœãèŠããã£ãïŒ ãããžã§ã¯ãã®ããªãå€ããªããžã§ã³ïŒéçºè
ã®æŽ»åã«å¿ããŠã1é±éãŸãã¯1幎ã«ãªãå¯èœæ§ããããŸãïŒãåããã¢ãã©ã€ã¶ãŒã§ç¢ºèªããåä¿¡ãããã¹ãŠã®ã¡ãã»ãŒãžãé衚瀺ããŒã¿ããŒã¹ã«å
¥ããŸããã ãã®åŸããããžã§ã¯ãã¯ææ°ã®ããããªããžã§ã³ã«æŽæ°ãããã¢ãã©ã€ã¶ãŒã«ãã£ãŠå床ãã§ãã¯ãããŸããã çæ³çã«ã¯ããæ°ãããã³ãŒãã§ã®ã¿èŠã€ãã£ãã¡ãã»ãŒãžã衚瀺ãããã¯ãã§ãã æ€èšäžã®æéã«äœæãããã³ãŒãã
æåã®ãããžã§ã¯ãããã§ãã¯ãããšãã«ãæ¹æ³è«ã®å€ãã®åé¡ãšå¶éã«ééããŸããã ããããããè©³çŽ°ã«æ€èšããŸãããã
ãŸããååãšããŠãã¡ãã»ãŒãžèªäœãçºè¡ãããå ŽæããŸãã¯å/次ã®è¡ã§ã³ãŒãã倿Žãããå Žåã«ãã¡ãã»ãŒãžããå衚瀺ããããããšãæ³å®ããŠããŸããã ããã«ãã¡ãã»ãŒãžèªäœã®è¡ã®å€æŽããäºæ³ã©ããããã®ãããªã¡ãã»ãŒãžã®ã埩掻ãã«ã€ãªãã£ãå Žåãåšå²ã®è¡ã®å€ââæŽã¯ãäžèŠãããã«ã€ãªããã¹ãã§ã¯ãããŸããã ããã¯ãç¹ã«ãéžæããææ³ã®äž»ãªå¶éã®1ã€ã§ããããã3è¡ã§ãœãŒã¹ãã¡ã€ã«ã®ããã¹ãã«æ·»ä»ãããŸãã ããã«ã1è¡ã ãã«æ·»ä»ããã®ã¯äžäŸ¿ã«æããŸã-ããŸãã«ãå€ãã®ã¡ãã»ãŒãžããæ··åããããå¯èœæ§ããããŸãã åŸã§æäŸããããããžã§ã¯ãã®çµ±èšã§ã¯ããã®ãããªã¡ãã»ãŒãžãããã¢ããšããŠæå®ããŸãã ã¡ãã»ãŒãžã¯ããã§ã«æå¶ããŒã¹ã«ãããŸãããåã³è¡šç€ºãããŸãã
次ã«ãæ°ããã¡ã«ããºã ã®å¥ã®æ©èœïŒãŸãã¯ãå¥ã®å¶éïŒãæããã«ãªããŸããããããã®ãã¡ã€ã«ãä»ã®ãããžã§ã¯ãã®ä»ã®ãœãŒã¹ãã¡ã€ã«ã«å«ãŸããŠããå Žåã®hïŒããããŒïŒãã¡ã€ã«ã®ã¡ãã»ãŒãžã®ã埩掻ãã§ãã ãã®å¶éã¯ãããŒã¿ããŒã¹ããããžã§ã¯ãIDEã¬ãã«ã§çæããããšããäºå®ã«ãããã®ã§ãã åæ§ã®ç¶æ³ã¯ãããããŒ/ãœãŒã¹ãã¡ã€ã«ãåå©çšãããœãªã¥ãŒã·ã§ã³ã®æ°ãããããžã§ã¯ãã®å Žåã«ãçºçããŸãã
ããã«ãã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžã®ããã¹ãã«çŠç¹ãåãããŠããŒã¿ããŒã¹å
ã®ãã®ãããªã¡ãã»ãŒãžãç¹å®ããããšã¯è¯ãèãã§ã¯ãªãããšã倿ããŸããã ã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžã®ããã¹ãã«ã¯ããœãŒã¹ã³ãŒãã®è¡çªå·ïŒã·ããã®å Žåã«å€åããïŒããã³ãŠãŒã¶ãŒã³ãŒãã«è¡šç€ºããã倿°ã®ååãå«ãŸããããšããããŸãã äžå®å
šãªã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžãããŒã¿ããŒã¹ã«ä¿åããããšã«ããããã®åé¡ã解決ããŸãã-ãã¹ãŠã®ããžã¿ã«æåãåãåãããŸãã ãããã倿°ã®ååã倿Žãããšãã«ã¡ãã»ãŒãžã®ã埩掻ããèæ
®ããããšã«ããŸãããååã ãã§ãªããå®çŸ©ã倿Žãããå¯èœæ§ããããããããããæ°ãããã³ãŒããšèŠãªããŸãã
æåŸã«ãããã€ãã®ã¡ãã»ãŒãžããç§»è¡ããããŸãã-ã³ãŒããä»ã®ãã¡ã€ã«ã«ã³ããŒããããããã¡ã€ã«ãä»ã®ãããžã§ã¯ãã«å«ãŸããŠãããããååãšããŠãæåã«èª¬æããæ¹æ³è«ã®åé¡ãšäº€å·®ããŸãã
æ°ããã·ã¹ãã ããã¹ãããããã€ãã®ãããžã§ã¯ãã®çµ±èšããªã¹ãããŸãã 倿°ã®èšºæã¡ãã»ãŒãžã¯ããã¹ãŠã®ã¡ãã»ãŒãžãèæ
®ããããšããäºå®ã«ãã£ãŠåŒãèµ·ããããŸãã æ®å¿µãªããäžè¬çã«å€ãã®èª€æ€ç¥ãçæãã64ããããšã©ãŒã®èšºæãå«ããããã«ã€ããŠã¯äœãã§ããŸããã
- LLVMã¯ãããã°ã©ã ã®åæã倿ãæé©åã®æ®éçãªã·ã¹ãã ã®ããã®å€§èŠæš¡ãªãããžã§ã¯ãã§ãã ãã®ãããžã§ã¯ãã¯æ°å¹Žã«ããã£ãŠç©æ¥µçã«éçºãããŠãããããããã1.5ãæã§å€æŽã®ãã€ããã¯ã¹ãååŸããŠã倿°ã®ã³ãŒã倿ŽãååŸããã®ã«ååã§ããã æåãªClangã³ã³ãã€ã©ã¯ãã®ãããžã§ã¯ãã®äžéšã§ãã 1600-1800ãããžã§ã¯ããã¡ã€ã«ã®å Žåã52,000ã®ã¡ãã»ãŒãžãäžèŠãšããŠããŒã¯ãããŸããã 1.5ãæåŸã18,000åã®æ°ããã¢ãã©ã€ã¶ãŒã¡ãã»ãŒãžãæ€åºãããŸããããã®ãã¡500ãã¢ã®ã¡ãã»ãŒãžãš500ã¡ãã»ãŒãžãä»ã®ãã¡ã€ã«ã«ç§»è¡ããŸããã
- Mirandaã¯ãWindowsçšã®æåãªã¡ãã»ãŒãžã³ã°ããã°ã©ã ã§ãã Mirandaã«ã¯æåã®ãªãªãŒã¹ä»¥æ¥11ã®ããŒãžã§ã³ããããŸãã ææ°ã®Miranda IMãåããŸããã æ®å¿µãªããããã©ã³ãéçºããŒã ã®ç«¶åã«ããããã®ããŒãžã§ã³ã¯ããŸãé »ç¹ã«å€æŽãããŸããã§ãããæå€§2幎ã®ééã§å€æŽãè¡ãå¿
èŠããããŸããã 700ãã¡ã€ã«ã®å Žåã51,000ã®ã¡ãã»ãŒãžãäžèŠãšããŒã¯ãããŸããã 2幎åŸã41ã®æ°ããæçš¿ã®ã¿ã衚瀺ãããŸããã
- ffdShowã¯ããããªã¹ããªãŒã ã®é«éãã€é«ç²ŸåºŠã®ãã³ãŒãã«äžè¬çã«äœ¿çšãããã¡ãã£ã¢ãã³ãŒããŒã§ãã ffdShowã¯ããªã宿ãããããžã§ã¯ãã§ããå·çæç¹ã§ã¯ãææ°ãªãªãŒã¹ã¯2013幎4æã§ããã å€åã®ãã€ããã¯ã¹ã1幎éåããŸããã 570åã®ãã¡ã€ã«ã®ãã¡ã21,000åã®ã¡ãã»ãŒãžãè¿·æã¡ãŒã«ãšããŠããŒã¯ãããŸããã 1幎åŸã120ã®æ°ããæçš¿ãç»å ŽããŸããã
- Torque3Dã¯ã²ãŒã ãšã³ãžã³ã§ãã çŸåšããããžã§ã¯ãã¯å®éã«ã¯éçºãããŠããŸããããæåã¯ãã¹ãŠãç°ãªã£ãŠããŸããã å·çæç¹ã§ã®ææ°ãªãªãŒã¹ã¯2007幎5æ1æ¥ã§ããã æŽ»çºãªéçºã®æç¹ã§ã1é±éã®ééã§ã®å€åã®ãã€ããã¯ã¹ã¯43,259ã®ã¡ãã»ãŒãžãçºè¡ããŸããã ãã®æéäžã«ã222ã®æ°ãããã®ãç»å ŽããŸããã
- OpenCVã¯ãã³ã³ãã¥ãŒã¿ãŒããžã§ã³ãç»ååŠçãæ±çšæ°å€ã¢ã«ãŽãªãºã ã®ã¢ã«ãŽãªãºã ã®ã©ã€ãã©ãªã§ãã ããªãåçãªãããžã§ã¯ãã 倿Žã®ãã€ããã¯ã¹ã2ãæãš1幎ã®éåããŸããã 50948ã®ãžã£ã³ã¯ã¡ãã»ãŒãžã«ãã©ã°ãä»ããããŸããã ãããã®ãã¡ã2ãæåŸã®1174ä»¶ã®æ°ããã¡ãã»ãŒãžãš1幎åŸã®19471ä»¶ã®æ°ããã¡ãã»ãŒãžã
çµæããã©ã®ãããªçµè«ãå°ãåºãããšãã§ããŸããïŒ
掻çºã«éçºãããŠããªããããžã§ã¯ãã§ã¯ã1幎ã»ã©ã®é·ãæéã§ãã£ãŠãã倿°ã®ãæ°ãããã¡ãã»ãŒãžã衚瀺ãããªãããšãäºæ³ãããŸãã ãã®ãããªãããžã§ã¯ãã§ã¯ãããã¢ãã«ç§»è¡ãããã¡ãã»ãŒãžã®æ°ãèæ
®ããªãã£ãããšã«æ³šæããŠãã ããã
ãããããã¡ãããç§ãã¡ã«ãšã£ãп倧ã®é¢å¿ã¯ãçããŠãããããžã§ã¯ããã§ãã ç¹ã«ãLLVMã®äŸã䜿çšãããšããæ°ãããã¡ãã»ãŒãžã®æ°ã¯ãããŒãžã§ã³ã§ã¿ã°ä»ããããã¡ãã»ãŒãžã®34ïŒ
ã§ãããããã1.5ãæé
ããŠããããšãããããŸãã ãã ãããããã®18,000ã®æ°ããã¡ãã»ãŒãžã®ãã¡ã1000ïŒç§»è¡ããã500 + 500ãã¢ïŒã®ã¿ããæ¹æ³è«ã®å¶éã«å±ããŸãã æ°ããæçš¿ã®ç·æ°ã®ããã5ïŒ
ã
ç§ãã¡ã®æèŠã§ã¯ããããã®æ°å€ã¯æ°ããã¡ã«ããºã ã®å®è¡å¯èœæ§ãéåžžã«ããå®èšŒããŸããã ãã¡ãããæ°ããæå¶ã¡ã«ããºã ã¯æ±ºããŠãäžèœè¬ãã§ã¯ãªãããšãèŠããŠãã䟡å€ããããŸãããæå¶/ãã£ã«ã¿ãªã³ã°ã®æ¢åã®å€ãã®æ¹æ³ã䜿çšããæ©èœããã£ã³ã»ã«ããããšã¯ã§ããŸããã ããšãã°ãhãã¡ã€ã«å
ã®ã¡ãã»ãŒãžãé »ç¹ã«ããããã¢ããããå§ããå Žåãè¡ã«//-Vxxxã®ãããªã³ã¡ã³ãã远å ããããšã§ãã¡ãã»ãŒãžãæ°žä¹
ã«ã殺ããããšã«äœã®åé¡ããããŸããã
æ°ããã¡ã«ããºã ã¯æ¢ã«å®å
šã«ãããã°ãããŠãããšããäºå®ã«ãããããããæ¬¡ã®ãªãªãŒã¹ã§ãŠãŒã¶ãŒã«å
¬éããæºåãã§ããŠããŸãããLLVM / Clangãããžã§ã¯ãã®å®æçãªïŒæ¯æ©ã®ïŒãã§ãã¯ãæŽçããŠãã¹ããç¶è¡ããããšã«ããŸããã æ°ããã¡ã«ããºã ã«ããããæ°é®®ãªããããžã§ã¯ãã³ãŒãããã®ã¡ãã»ãŒãžã®ã¿ãèŠãããšãã§ããŸã-çè«çã«ã¯ãéçºè
ãçºèŠããåã§ãã£ãŠããšã©ãŒãèŠã€ããããšãã§ããŸãã ããã¯ãéçè§£æã宿çã«äœ¿çšããããšã®æ¬åœã®ã¡ãªãããéåžžã«ãã瀺ããŠããŸããæ¯æ¥50,000ã衚瀺ããã®ã¯éçŸå®çã§ãããããããã¯æ°ããæå¶ã·ã¹ãã ãªãã§ã¯äžå¯èœã§ãã
ãã€ãã¿ãŒã§Clangã§èŠã€ãã£ãæ°ãããã°ã®å ±åããåŸ
ã¡ãã ããã