ºìÁªLinuxÃÅ»§
Linux°ïÖú

΢ÈíÏò¿ªÔ´ÓÖÂõ½øÁËÒ»´ó²½£ºChecked C

·¢²¼Ê±¼ä:2016-06-25 21:24:29À´Ô´:ºìÁª×÷Õß:Ronny
΢Èí¿ªÔ´ÁË Checked C £¬ÕâÊÇÒ»¸ö C ÓïÑÔµÄÀ©Õ¹°æ±¾£¬¿ÉÒÔÓÃÓÚ½â¾ö C ÓïÑÔÖеÄһϵÁа²È«Ïà¹ØµÄÒþ»¼¡£ÕýÈçÆäÃû×ÖËùʾ£¬Checked C Ϊ C ÓïÑÔÔö¼ÓÁ˼ì²é£¬Õâ¸ö¼ì²é¿ÉÒÔ°ïÖú¿ª·¢Õß¼ì²é³£¼ûµÄ±à³Ì´íÎ󣬱ÈÈ绺´æÇøÇÖÕ¼buffer overruns¡¢ÄÚ´æ·ÃÎÊÔ½½ç¡¢²»ÕýÈ·µÄÀàÐÍת»»µÈ¡£ÕâЩ±à³Ì´íÎóÍùÍùÊÇÔì³ÉÐí¶àÖØ´ó°²È«Â©¶´µÄ¸ù±¾Ô­Òò£¬±ÈÈçÆÆ¿Ç©¶´Shellshock¡¢ÐÄÔà³öѪ©¶´Heartbleed¡¢É³³æSandwormµÈ¡£



Checked C ͨ¹ýÐ޸ĿØÖÆÖ¸ÕëÀ´½â¾öÕâЩÎÊÌ⣬ָÕë±»³ÌÐòÔ±ÃÇÓÃÀ´¶¨ÒåËûÃǵĴúÂëËù²Ù×÷µÄÄÚ´æµØÖ·¡£µ±Ö¸ÕëÊýÁ¿Ò»¶à£¬Ö¸Õë¿ØÖƾÍÍùÍùÈÝÒ×æÖгöÂÒ£¬ÏîÄ¿Ô½´ó¸ú×ÙËüÃǾÍÔ½À§ÄÑ£¬ÀàËÆ Chromium¡¢Firefox¡¢Office¡¢OpenSSL ÒÔ¼°ÆäËüµÄ´óÐÍ´úÂë¿âÔÚÕâ·½Ã涼´æÔÚÕâÑùµÄÎÊÌ⣬Äã¿ÉÒÔ´ÓËüÃǵıä¸üÈÕÖ¾Öп´µ½´óÁ¿µÄÕâÀàÎÊÌâÐÞ¸´¡£¡°Checked C ÔÊÐí³ÌÐòÔ±¸üºÃµÄÃèÊöËûÃÇÏëÒªÈçºÎʹÓÃÖ¸Õ룬ÒÔ¼°Ö¸ÕëÓ¦¸ÃÖ¸ÏòµÄÄڴ淶Χ¡±£¬Î¢Èí˵£¬¡°Õâ¸öÐÅÏ¢¿ÉÒÔÓÃÓÚÔÚÔËÐÐʱ»·¾³ÖÐÌí¼Ó¼ì²â£¬ÒÔÕì²â´íÎóµÄÊý¾Ý·ÃÎÊ£¬¶ø²»ÊÇÈôíÎóÇÄÇĵķ¢Éú¶øÎÞËù²ì¾õ¡£¡±



Checked C Ò²½«ÔÊÐí¿ª·¢Õß¼ì²âµ½ËûÃÇÒÔΪ C ÓïÑÔÓС¢¶øʵ¼ÊȴûÓеŦÄÜÎóÓᣰ´±à³Ì½çµÄ˵·¨À´½²£¬Õâ¸ö½Ð×ö¡°±ß½ç¼ì²ébounds checking¡±µÄ¹¦ÄÜ£¬ÓÃÓÚ¼ì²é±äÁ¿/Ö¸ÕëÊÇ·ñÔÚËüµÄ·¶Î§Ö®ÄÚ¸³Öµ£¬C# ºÍ Rust ÒѾ­ÓÐÕâÑùµÄ¹¦ÄÜÁË£¬¶øÇÒ»¹²»Ö¹ÓÚ´Ë¡£È»¶ø²»ÐÒµÄÊÇ£¬±»¹ã·ºÊ¹ÓÃµÄ C ºÍ C++ ȴûÓÐÕâÑùµÄ¹¦ÄÜ£¬Î¢ÈíÏ£ÍûÖ»ÐèÒª¶ÔÏÖÓÐµÄ C/C++ ³ÌÐò×ö×îСµÄ¸Ä¶¯£¬ÀûÓà Checked C ¾Í¿ÉÒԵõ½°²È«·½ÃæµÄ¸ÄÉÆ£¬ÕâÑù»áÎüÒý´óÁ¿µÄ¿ª·¢Õß¿ªÊ¼Ê¹Óà Checked C¡£

Checked C ÏîÄ¿ÒѾ­·Åµ½ÁË GitHub ÉÏ¡£Õâ²¢²»ÊÇ΢ÈíµÚÒ»´Î¶Ô»ù±¾±à³ÌÓïÑÔ×ö³öÀ´×Ô¼ºµÄÑÝÒ֮ǰ¸Ã¹«Ë¾µÄ³ÌÐòÔ±ÃÇ»¹´´½¨ÁËÒ»¸öÃûΪ TypeScript µÄ JavaScript µÄ³¬¼¯£¬²¢ÇÒËüÒѾ­µÃµ½Á˹㷺ÈÏ¿É¡£

±¾ÎĵØÖ·£ºhttp://www.linuxprobe.com/microsoft-checkedc-opensource.html
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 2 ÌõÆÀÂÛ

  1. ¾ÞÁú ÓÚ 2016-06-26 10:51:54·¢±í:

    £ø£ðµÈϵ??Ô´²ÅÊÇÕæÕýµÄ?Ô´£¬²»?Ô´Ò²²»Òª?£¬£ì£é£î£õ£ø£¯°²×¿µÈÆäËüϵ?Ô½?ԽţÁË¡£

  2. Ronny ÓÚ 2016-06-25 21:24:47·¢±í:

    ΢ÈíÔ½À´Ô½¿ªÔ´ÁË