Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

MISRA C £ºÈÃǶÈëʽϵͳ¸ü¼Ó°²È«¿É¿¿µÄһЩ¹Ø¼ü¹æÔò

ת×Ô£ºhttp://www.bmrtech.com/article/2008/081126.htm
    ûÈËÄÜ·ñÈÏǶÈëʽӦÓÃÕý±äµÃÔ½À´Ô½ÆÕ±é¡£µ«ÊÇ£¬µ±ÏµÍ³Ô½À´Ô½¸´ÔÓ£¬¶øÎÒÃǸ³ÓèϵͳԽÀ´Ô½¶àµÄÔðÈεÄʱºò£¬ÎÒÃǽ«±ØÐëÃæ¶ÔÒ»Ð©ÖØÒªÎÊÌâ¡£ÆäÖÐ×îÖØÒªµÄÎÊÌâÊÇ£ºÎÒÃÇÈçºÎ²ÅÄÜÈ·±£Ç¶ÈëʽϵͳÊǰ²È«¿É¿¿µÄ£¿
C ±à³ÌÓïÑÔΪÓû§ÌṩÁËÐí¶àÇ¿´óµÄ¹¦ÄÜ£¬¼¸ºõÓë»ã±àÓïÑÔÒ»ÑùÇ¿´ó¡£´ËÍ⣬ C ÓïÑÔ»¹°üº¬ÁËһЩÔÚ±ê×¼ÖÐδÃ÷È·¶¨ÒåµÄÇøÓòºÍ²»Óö¨Òå¾ÍÄÜʵÏÖµÄÌõ¿î¡£
Óà C À´±àдһ¸ö°²È«¿É¿¿µÄ³ÌÐò²¢²»½ö½öÒâζןóÌÐòÄÜÍêÈ«°´ÕÕ±à³ÌÕßµÄÔ¤ÆÚÀ´ÔËÐС£Ëü±»ÒÆÖ²µ½Ò»¸ö²»Í¬µÄ»·¾³ÏÂÒ²ÐèÒªÕýÈ·ÔËÐС£¸üÖØÒªµÄÊÇ£¬µ±ÆäËûÈËÔ±ÔĶÁÕâЩԴ´úÂëʱ£¬ËüÃDZØÐëÏñË®¾§Ò»ÑùÇåÎúÃ÷ÁË£ºÒ»·½Ãæ¼ò»¯Á˲»±ØÒªµÄ²Â²âºÍÚ¹ÊÍ£¬ÁíÒ»·½Ãæµ±»ùÓÚÕâЩ´úÂëÀ´×ö½øÒ»²½¿ª·¢Ê±£¬Äܹæ±ÜÓÕ·¢Ð´íÎóµÄ·çÏÕ¡£
Æû³µ¹¤ÒµÈí¼þ¿É¿¿ÐÔЭ»á (MISRA) ²ÉÈ¡µÄ´ëÊ©ÊǶ¨ÒåÒ»Ì× C ±à³ÌÓïÑÔµÄ×Ó¼¯¡£Èç¹ûÔÚÓ¦Óÿª·¢ÖнöʹÓÃÕâ¸ö×Ó¼¯£¬ÄÇôÐí¶à C ±à³ÌÓïÑÔÖдæÔÚµÄȱÏݾÍÄܱ»¹æ±ÜÁË¡£
Õâ¸ö×Ó¼¯Ãû³ÆÎª "MISRA C" £¬ÔÚÒ»±¾ÃûΪ“ Guides For The Use Of The C Language In Vehicle Based Software ”µÄÊÖ²áÖÐÓоßÌ嶨Òå¡£¸ÃÖ¸ÄϹ²°üÀ¨ 127 Ìõ¹æÔò£¬·ÖΪ“±ØÑ¡”ºÍ“½¨Òé”Á½Àà¡£
IAR Embedded Workbench Öм¸¿î²úÆ·£¨²Î¼ûÒÔÏÂÁÐ±í£©£¬ÄÚ½¨ÁËÒ»¸öÄܼì²é¾ø´ó¶àÊý MISRA C ¹æÔòµÄ¼ì²éÆ÷£¬µ«ÊÇijЩ¹æÔòÊÇÎÞ·¨±»×Ô¶¯¼ì²âµÄ¡£
Èç¹ûÔÚ±àдӦÓÃʱÍüÁËʹÓÃÕâЩ¹æÔò£¬ÒÔºóÔÙÈ¥ÐÞ¸ÄÓ¦ÓÃÒÔ·ûºÏÕâЩ¹æ·¶½«·Ç³£À§ÄÑ¡£±ÈÈ磬 MISRA C µÚ 118 Ìõ¹æÔò½ûֹʹÓö¯Ì¬·ÖÅäÄڴ棬µÚ 101 Ìõ¹æÔò¹æ¶¨½ûֹʹÓà ָÕëÔËËã £¬µÚ 102 Ìõ¹æÔò±íʾ²»¿ÉÒÔʹÓà ³¬¹ýÁ½¼¶µÄ¼ä½ÓÖ¸Õë ¡£
ÁíÒ»·½Ã棬Óм¸Ìõ¹æÔòÊǷdz£¼òµ¥Ã÷Á˺ͳÉÊ죬¼´Ê¹ÄãûÓÐÏë¹ýÈÃÄãµÄÓ¦ÓÃ×öµ½ 100% µÄ MISRA C ¼æÈÝ£¬Èç¹ûÄÜÖ§³ÖÆäÖм¸ÌõÒ²ÖÁÉÙÄÜÈÃÓ¦Óøü¿É¿¿Ò»Ð©¡£
ÔÚÕâÆªÎÄÕÂÀÎÒ½«ÍƼöһЩӦ¸ÃÊÊÓÃÓÚËùÓÐÏîÄ¿µÄ¹æÔò£¬¼´±ãÄãûÏë×öµ½ 100% µÄ MISRA C ¼æÈÝ¡£ÕâЩ±»ÌôÑ¡³öÀ´µÄ¹æÔòͨ³£ÊDZàÒëÆ÷²»»áÈ¥¼ì²éµÄ¡£
ÔÚ IAR Embedded Workbench ÖÐʹÓà MISRA C
ÔÚ IAR Embedded Workbench ÖУ¬ MISRA C µÄ½çÃæ·Ç³£¼òµ¥Ò×Óã¬Äã¿ÉÒÔÖ±½ÓÑ¡ÔñÄãËùÏ£Íû¼ì²éµÄ¹æÔò£¬Ò²¿ÉÒÔÔÚ "MISRA C" ±êÇ©Ï嵀 " ͨÓÃÑ¡Ïî " ²¿·ÖµÄ "Options" ²Ëµ¥ÁбíÖнøÐÐÑ¡Ôñ ¡£Èç¹ûÄãʹÓÃÃüÁîÐз½Ê½£¬Äã¿ÉÒÔʹÓà --misrac ºÍ --misrac_verbose ÃüÁîÑ¡Ïî¡£
´ó¶àÊý¹æÔò¶¼ÓɱàÒëÆ÷×ÔÉíÀ´¼ì²é¡£È»¶ø£


Ïà¹ØÎĵµ£º

c ¶ÁÈ¡Îļþ

#include <stdio.h>
int main ()
{
    FILE *fp1;
    fp1=fopen("test0.txt","rt");
    if(fp1==NULL)
    {
        printf("can not open test0.txt\n");return 0;
 &n ......

LinuxÏÂCÓïÑÔ±à³Ì ÎļþµÄ²Ù×÷

ǰÑÔ: 
    ÎÒÃÇÔÚÕâÒ»½Ú½«ÒªÌÖÂÛlinuxÏÂÎļþ²Ù×÷µÄ¸÷¸öº¯Êý. 
1.ÎļþµÄ´´½¨ºÍ¶Áд 
2.ÎļþµÄ¸÷¸öÊôÐÔ 
3.Ŀ¼ÎļþµÄ²Ù×÷ 
4.¹ÜµÀÎļþ 
--------------------------------------------------------------------------------
1¡£ÎļþµÄ´´½¨ºÍ¶Áд 
......

C/C++——ºê×ÛÊö


C++ÌṩµÄ±àÒëÔ¤´¦Àí¹¦ÄÜÖ÷ÒªÓÐÒÔÏÂÈýÖÖ£º
¡¡¡¡£¨Ò»£© ºê¶¨Òå
¡¡¡¡£¨¶þ£© Îļþ°üº¬
¡¡¡¡£¨Èý£© Ìõ¼þ±àÒë
¡¡¡¡ÔÚC++ÖУ¬ÎÒÃÇÒ»°ãÓÃconst¶¨Òå·ûºÅ³£Á¿¡£ºÜÏÔÈ»£¬ÓÃconst¶¨Òå³£Á¿±ÈÓÃdefine¶¨Òå³£Á¿¸üºÃ¡£
¡¡¡¡ÔÚʹÓú궨ÒåʱӦעÒâµÄÊÇ£º
¡¡¡¡£¨a£© ÔÚÊéд#define ÃüÁîʱ£¬×¢Òâ<ºêÃû>ºÍ<×Ö·û´®>Ö®¼äÓÿո ......

c/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ

Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© — Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀà ......

LinuxÖг£ÓõÄC\C++Í·Îļþ

1¡¢  һЩͷÎļþµÄ×÷Óãº
<assert.h>£ºANSI C¡£Ìṩ¶ÏÑÔ£¬assert(±í´ïʽ)
<glib.h>£ºGCC¡£GTK£¬GNOMEµÄ»ù´¡¿â£¬ÌṩºÜ¶àÓÐÓõĺ¯Êý£¬ÈçÓÐÊý¾Ý½á¹¹²Ù×÷º¯Êý¡£Ê¹ÓÃglibÖ»ÐèÒª°üº¬<glib.h>
<dirent.h>£ºGCC¡£Îļþ¼Ð²Ù×÷º¯Êý¡£struct dirent,struct DIR,opendir(),closedir(),readdir(),readdi ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ