çŸæç¹ã§ã¯ã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ã§èŠã€ãã£ãæ°ãããã°ã®å ±åããåŸ ã¡ãã ããã