Klausimai pažymėti „misra“

„MISRA“ (iš pradžių „Automotive Industry Trust Association“ santrumpa) yra organizacija, paskelbusi kodavimo rekomendacijas MISRA-C ir MISRA-C ++. Kiekvienas dokumentas yra taisyklių rinkinys, kuriuo siekiama sukurti saugesnę atitinkamos kalbos dalį.
5
atsakymai

Pažeidimas Misra 12.6

Kaip atsikratyti „Misra“ pažeidimo su šiais tipedef pareiškimais neparašyta char boolean; Būlio A, B; A =! B; Operatorius logiškas! operatorius nėra „veiksminga loginė“ išraiška. MISRA-C: 2004 taisyklė 12.6; NUORODA - ISO: C90-6.3.3.3 ...
nustatytas vasario 13 d '14, 20:16
1
atsakymas

C ++ Digraphs neturėtų būti naudojamas (MISRA C ++ 2-5-1)

Pagal MISRA C ++ 2-5-1, mes linkę išvengti painiavos su skaitmeniniais vaizdais. Nors nesuprantu, kodėl turėtume vengti naudoti ir perskaitytus žodžius, ir, ar ne, ir tt Apibrėžti bendrus operatorius ||, ... Problema netgi pabrėžia ...
birželio 17 d. 14 val
1
atsakymas

MISRA-C ++: 2008 [8-4-3]: grįžti į visą išvesties kelią į funkciją

Bandant kodą (statinę analizę), kad sužinotume, ar gerbiu „Craig“ C ++ 2008, aš gaunu šią klaidą: Funkcija negrąžina vertės visiems keliams. Funkcija atrodo int * Dosomething (eilutė v) {int * retvalue = NULL; ...
nustatyti 06 gruodis '13, 16:25
7
atsakymai

Kaip įjungti šį įspėjimą MISRA: C ++

Čia yra kodas, kaip parodyta žemiau: std :: stringstream os; os << std :: hex; // MISRA įspėjimas šioje eilutėje os << std :: setw (2); os << std :: setfill ('0'); Įspėjimas: „Privaloma taisyklė 8-4-4, funkcijų ID, naudojama ...
nustatytas sausio 30 d '14, 11:07
2
atsakymai

MISRA / QA-C pranešimo su Doxygen slopinimas

Šiuo metu dirbau projekte, kuris turi atitikti 2012 m. MISRA reikalavimus. Bet įdėtame pasaulyje negalite laikytis kiekvienos MISRA taisyklės. Todėl turiu slopinti kai kuriuos pranešimus, gautus iš QA-C. Kas yra geriausia ...
nustatyti 08 sausis '15, 10:39
2
atsakymai

Ar pašarų tiekimo simbolis (FF) galioja MISRA C2 standarte?

Atidarykite tam tikrą pasenusį kodą „Notepad ++“ ir pastebėkite kelis FF simbolio įvykius po funkcijų komentarų antraštėmis. Tai ASCII kodas 12, kuris yra pašarų simbolis. Ar FF simboliai galioja MISRA C2 standarte, galbūt ...
nustatytas balandžio 28 d '15, 11:19
2
atsakymai

Ar „MISRA C 2012“ nurodo nenaudoti „Bool“

Aš pradedu kurti naują projektą. Apibrėžiau funkciją su grąžinimo tipu „bool“. Šią išvestį galiu gauti iš PC-Lint, įskaitant failų sockets.h (hdr) bool sock_close (uint8_t socket_id); ^ "LINT: sockets.h (52, 1) 970 pastaba: naudokite ...
birželio 03 d. 15 val
3
atsakymai

MISRA C ++ 2008 taisyklės 5-2-7 pažeidimas: objektas su žymeklio tipu negali būti konvertuojamas į nesusijusį žymeklio tipą tiesiogiai ar netiesiogiai

Toliau pateiktame pavyzdyje: bool bad_function () {char_t * ptr = 0; // MISRA nesiskundžia, tai leidžia jums perkelti * char * į void * pointer void * p2 = ptr; // toliau 2
nustatyti 09 gruodis '15, 18:14
4
atsakymai

Geriausia praktika, pagal kurią apskaičiuojama funkcijos grąžos vertė

Dažnai aš sukūriau funkcijas C, kurios tikrina kai kuriuos parametrus ir grąžina klaidos kodą. Koks yra geriausias būdas nustoti tikrinti vertes, kai aptinkama klaida? Pirmasis pavyzdys: ErrorCode_e myCheckFunction (kai kurie parametrai) {ErrorCode_e erro ...
nustatyti kovo 03 '17 12:38
3
atsakymai

MISRA C ++ 5-0-3 valdo klaidingą teigiamą įspėjimą

Mano statinis analizatorius pateikia tokį įspėjimą: 5-0-3 taisyklė MCPP: ši sudėtinga išraiška yra netiesiogiai konvertuojama į kitą esminį tipą šiam kodui: void func (const uint32_t arg) {// 32U turi pagrindinį tipą uint8_t ...
04 Bal '17, 14:53 val
4
atsakymai

Išraiška priskirta platesniam pagrindiniam tipui

Iš mūsų analizės įrankio gaunu tokį įspėjimą: Kompozitinė išraiška priskirta platesniam esminiam tipui Tai yra kodas: uint32_t rezultatas; uint8_t rezoliucija; rezultatas = 1U << rezoliucija; Bandžiau: #define SHIFT_BY_ONE ...
nustatyti 24 okt. '17 at 2:01 val
2
atsakymai

MISRA C: 2004, bitų poslinkio klaida

Aš naudoju „IAR Workbench“ kompiliatorių su MISRA C: 2004 čekiu. Fragmentas: #define UNS_32 nepasirašytas int UNS_32 arg = 3U; UNS_32 konvertuota_arg = (UNS_32) arg; / * Klaidos eilutė -> * / UNS_32 irq_source = (UNS_32) (1U << konvertuota_arg); MI klaida ...
04 Feb rinkinys '12, 4:47
3
atsakymai

Literal null vietoj nuolatinio rodiklio įspėjimo iš MISRA

Turiu šią funkciją: void InitS (nepasirašytas int numS) {// // ši funkcija grąžina numS = props.numOfS (); jei (numS> 0) {..}} Jis rengia, bet suteikia man ...
nustatė kovo 05 d. 13 val
2
atsakymai

MISRA C-2012 10.3 taisyklė dėl dviejų 8 bitų kintamųjų, kurie buvo 32 bitai

10.3 taisyklė: Implicitinis „var4 + var5“ konvertavimas iš 32 bitų standarto su reikšmingu tipu į kitą ar siauresnį 8 bitų int pasirašytą 8 bitų int kodą žemiau. int8_t var4 = -10; uint8_t ...
lapkričio 28 d '17 val
2
atsakymai

MISRA C 2012 15.4 taisyklė. Turėtų būti ne daugiau kaip viena pertrauka arba „goto“ pareiškimas, naudojamas užbaigti bet kokį iteracinį pareiškimą.

Bandau atsikratyti kelių kodų pertraukų ir goto nurodymų. Kadangi taisyklėje daroma prielaida, kad neturėtume naudoti daugiau nei vienos pertraukos ar „goto“ operatoriaus bet kokiame iteraciniame pareiškime.
nustatyti 10 dec. '17, 8:10 val