±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬½éÉÜÁËcppcheck°²×°£¬cppcheckµÄ¼ì²éÐÅÏ¢£¬¿ØÖÆÌ¨ÏÂʹÓ㬵¥¶ÀʹÓã¬ÓëVS½áºÏʹÓᣠ|
|
cppcheckÊÇÒ»¿î¾²Ì¬´úÂë¼ì²é¹¤¾ß£¬¿ÉÒÔ¼ì²éÈçÄÚ´æÐ¹Â©µÈ´úÂë´íÎó£¬Ê¹ÓÃÆðÀ´±È½Ï¼òµ¥£¬¼´ÌṩGUI½çÃæ²Ù×÷£¬Ò²¿ÉÒÔÓëVS¿ª·¢¹¤¾ß½áºÏʹÓá£
1¡¢°²×°
Ò»°ã»áÌṩÃâ°²×°°æ£¬°²×°Íê³Éºó½«cppcheck.exeËùÔÚĿ¼Ìí¼Óµ½»·¾³±äÁ¿ÖУ¬ÕâÑùcmdÏ¿ÉÖ±½ÓʹÓÃcppcheckÖ¸ÁîÀ´¼ì²â´úÂë¡£
2¡¢cppcheckµÄ¼ì²éÐÅÏ¢
error£º´úÂëÖеĴíÎóÏ°üÀ¨ÄÚ´æÐ¹Â©µÈ£»
warning£ºÎªÁ˱ÜÃâ²úÉúbug¶øÌṩµÄ±à³Ì¸Ä½øÒâ¼û£»
style£º±àÂë·ç¸ñ£¬ÌáʾÄãÄÄЩº¯ÊýûÓÐʹÓá¢ÄÄЩΪ¶àÓà´úÂëµÈ£»
portability£ºÌáʾ¿çƽ̨ʱÈÝÒ׳öÏÖµÄÎÊÌ⣻
performance£º¸Ã²¿·Ö´úÂë¿ÉÒÔÓÅ»¯£»
information£ºÆäËûÐÅÏ¢£¬¿ÉÒÔºöÂÔ£»
3¡¢¿ØÖÆÌ¨ÏÂʹÓÃ
´ò¿ªcmd£¬ÊäÈëcppcheck»Ø³µºó»áÁгöÆäÖ§³ÖµÄ²ÎÊý£¬Ñ¡Ôñ²ÎÊý½øÐдúÂë¼ì²é£º
cppcheck --enable=all <dir>
|
¸ÃÖ¸Áî»áÁгöĿ¼dirÖеÄËùÓÐÎļþµÄ¼ì²éÐÅÏ¢£¬ÈôÒªµ¼³ö¼ì²éÐÅÏ¢£¬²Î¿¼ÈçÏÂÖ¸Á
cppcheck --enable=all <dir>
> D:\detect.txt; |
¨Cenable= ÓÐÐí¶à²ÎÊýÑ¡ÏÏêϸ¿É²Î¿¼cppckeck²ÎÊý˵Ã÷£¬ÒÀ¾Ýcppcheck°ïÖú˵Ã÷½¨ÒéʹÓÃall£¬ÕâÔÚɨÃèÕû¸ö¹¤³ÌµÄÈ«²¿Îļþʱ±È½ÏÓÐÓã¬ÒòΪÆä¿ÉÒÔ¼ì²éûÓÐʹÓõ½µÄº¯ÊýµÈ¡£
4¡¢µ¥¶ÀʹÓÃ
cppcheckÌṩ²Ù×÷½çÃæ£¬ÈçÏÂͼ£¬µã»÷×ó²àC++°´¼ü£¬Ñ¡ÔñĿ¼£¬È·¶¨ºó¾Í¿ÉÒÔ×Ô¶¯¼ì²âÎļþ¼ÐÄÚµÄËùÓÐÎļþ£¬Ä¬ÈÏÇé¿öÏÂ»á¸øÄãÁгöcppcheckËùÖ§³ÖµÄËùÓмì²âÐÅÏ¢ÄÚÈÝ£¬¹²¼ÆÁùÏîÄÚÈÝ£¬µã»÷ͼÖÐÓÒ²àÑ¡Ïî¿ÉÒÔÑ¡ÔñÒªÏÔʾµÄÄÚÈÝ¡£

5¡¢ÓëVS½áºÏʹÓÃ
½«cppcheckǶÈëµ½VSÖÐ×÷Ϊһ¸öÍⲿ¹¤¾ß£¬ÕâÑù¾Í¿ÉÒÔÔÚ³ÌÐò¿ª·¢½×¶ÎÖ±½Ó½øÐо²Ì¬´úÂë´íÎó¼ì²é¡£
ÅäÖãº
µã»÷VSµÄtools£¬Ñ¡ÔñÍⲿ¹¤¾ßÑ¡ÏÌí¼Ó¹¤¾ß£¬
±êÌ⣺cppcheckÔÚVS¹¤¾ßϵÄÃû³Æ£»
ÃüÁѡÔñcppcheck.exe£¬°üÀ¨¾ø¶Ô·¾¶£»
²ÎÊý£ºÒÀ¾ÝcppcheckµÄ²ÎÊý½øÐÐÑ¡Ôñ£¬¿ÉÒÔʹÓÃÒÔϼ¸ÖÖ
¨Cquiet ¨Cplatform=win64 (ProjectDir)£»¨Cenable=all
(ProjectDir);
(ProjectDir);ÆäÖеÚÒ»¸ö½öÏÔʾ¼ì²éµ½µÄ´íÎóÐÅÏ¢£¬ÆäÓàÁ½¸ö¼ì²éËùÓÐÐÅÏ¢£»³õʼĿ¼£º
(ItemDir)»òÕß$(ProjectDir)
ItemDirÊÇÖ¸Ò»¸öµ¥¶ÀµÄÎļþ£¬Èç¹û²ÎÊýÖÐÑ¡ÔñItemDir£¬ÔòÖ»»á¼ì²éµ±Ç°Ñ¡ÖеÄÎļþ£» 

¹´Ñ¡Í˳öʱ¹Ø±ÕºÍʹÓÃÊä³ö´°¿Úºóµã»÷È·¶¨£¬¾Í¿ÉÒÔ½«cppcheck¹¤¾ßÌí¼Óµ½vsÖС£
ʹÓãº
µã»÷¹¤¾ß£¬²éÕÒµ½cppcheckÑ¡Ïµã»÷ºó¾Í¿ÉÒÔÔÚoutput´°¿ÚÊä³ö¼ì²éÐÅÏ¢£¬¿ÉÒԵõ½´íÎóËùÔÚÎļþºÍÐÐÊý¡£ 
|