Klausimai pažymėti „misra“

„MISRA“ (iš pradžių „Automobilio pramonės patikimumo asociacijos“ santrumpa) yra organizacija, kuri paskelbė MISRA-C ir MISRA-C ++ kodavimo rekomendacijas. Kiekvienas dokumentas yra taisyklių rinkinys, kuriuo siekiama sukurti saugesnę atitinkamos kalbos dalį.
12
atsakymai

Kokie yra privalumai, jei nutraukiate, jei ... dar, jei konstruojama su kita išlyga?

Mūsų organizacija turi privalomą kodavimo taisyklę (be jokio paaiškinimo), tai yra: jei ... dar, jei konstrukcijos turėtų būti nutrauktos naudojant kitą sąlygą 1 pavyzdys: jei (x <0) {x = 0; } / * dar nereikia * / Su ...
nustatyti 28 sausis '16, 8:16
8
atsakymai

Kodėl MISRA C pareiškia, kad rodyklės kopija gali sukelti atminties išimtis?

„MISRA“ direktyva C 2012 4.12 „Nereikėtų naudoti dinaminio atminties paskirstymo“. Pavyzdžiui, dokumente yra šis pavyzdinis kodas: char * p = (char *) malloc (10); char * q; nemokamai (p); q = p; / * Nenustatytas elgesys - p vertė yra indete ...
lapkričio 3 d. '14 - 0:00
2
atsakymai

Kada turėčiau naudoti UINT32_C (), INT32_C (), ... makrokomandas C?

Savo projektuose perėjau į fiksuoto ilgio sveiko skaičiaus tipus, daugiausia dėl to, kad jie padeda man aiškiau apibrėžti sveikų skaičių dydį juos naudojant. Įtraukiant juos per #include <inttypes.h> taip pat yra ...
lapkričio 26 d. '16, 10:38 val
3
atsakymai

Kaip įdiegti CRTP po MISRA C ++

Mano komanda kuria įterptinę sistemą, kur reikia sekti MISRA C ++. Mes reorganizuojame kodą, kad galėtume naudoti mažiau virtualių metodų, todėl bandome įdiegti CRTP naudoti statinį polimorfizmą vietoj dinamiškai ...
nustatyti spalio 11 d. '18, 11:42
6
atsakymai

Įterptinės programinės įrangos „Misra“ standartas

Turiu reikalavimą, kad būtų sukurtas didelis MISRA kodo kodas. Pirmasis klausimas yra toks: ar kas nors gali pateikti sąmatą, skirtą perduoti gerai parašytą įterptųjų sistemų kodą remiantis patirtimi. Suprantu, kad "gerai parašyta" yra blogai apibrėžta ir neo ...
paklausė 15 rugsėjo. '08 4:39 val
1
atsakymas

Naudojant mažą sveikąjį skaičių su bitų operatoriumi C

Kalbant apie ankstesnį klausimą, negaliu suprasti kai kurių MISRA C 2004 taisyklių. 2007 m. ISO C99 projekte, 6.5 skirsnio 4 dalyje: Kai kurie operatoriai (unariniai operatoriai ir dvejetainiai operatoriai <, →, ^ ir |, bendrai apibūdinami kaip bitai) operato ...
nustatyti 07 spalis '14 18:00 val
3
atsakymai

MISRA prieaugis C

o (buffPtr! = buffEndPtr) {* buffPtr = 0xFF; / * MISRA patobulinimai: ...
gegužės 14 d., 15 val
3
atsakymai

Kodėl „toliau“ laikomas C pažeidimu MISRA C: 2004?

MISRA 14.5 sako, kad tęstinis pareiškimas neturėtų būti naudojamas. Ar kas nors gali paaiškinti priežastį? Ačiū.
birželio 11 d. 12 val
2
atsakymai

Tiksli virtualioji funkcija, viršijanti virtualų funkciją

Tarkime, kad pateikiamas toks kodas. A klasė {public: virtual void someMethod () {std :: cout << "A klasė << std :: endl; }}; B klasė: public A {public: ... virtual void someMethod () = 0; ...}; B klasė ...
Nustatykite rugsėjo 28 d '13, 13:20
5
atsakymai

C / C + + sąlyginiai grąžinimo operatoriai

Dirbu įterptą programą, o kai kuriais atvejais, jei ši sąlyga nėra skirta, norėčiau kuo greičiau grįžti iš funkcijos. jei turiu šį kodą, ir aš įterpiu programavimą: foo () {if (a <b) {...
yra nustatyta birželio 18 d. 13 val
3
atsakymai

Alternatyvi Linux sistema, skirta Linux komandų terminalui vykdyti

Noriu vykdyti Linux terminalo komandą C programoje, šiuo metu naudoju sistemos () funkciją, bet noriu naudoti bet kurią kitą, nes sistemos () funkcija yra uždrausta MISRA. Pavyzdžiui, kaip pakeisti sistemą („hwc ...
birželio 15 d. 15 val
4
atsakymai

Koks skirtumas tarp mirusio kodo ir nepasiekiamo kodo?

Maniau, kad šie terminai yra sinonimai, tačiau MISRA pastaba dėl mirusio kodo rodo, kad tai neteisinga? Koks skirtumas? Ar tai yra kito pogrupio dalis?
nustatytas 02 balandis '14, 8:58
2
atsakymai

Ar „MISRA-C“ taikoma „Linux“ programoms

Suprantu, kad MISRA-C standartai yra skirti programinei įrangai. Įdiegus „Linux“ yra jūsų produkto platforma, ar / ar jūsų įterptosios programos turi būti sukurtos, kad atitiktų MISRA-C reikalavimus? Kas nors ...
nustatytas balandžio 29 d '15, 21:23
3
atsakymai

MISRA-C klaida masyvo struktūros inicijavime

Turiu: typedef struct {uint8_t BlockID; uint32_t kopijos; uint16_t dydis; } NVMM_ConfigType; const NVMM_ConfigType NvmmCnf_Layout [6] = {{1, 1, 4}, {2, 3, 4}, {5, 5, 16}, {10, 1, 4}, {11, 2, 32} ...
nustatė liepos 30 d. 15 val
3
atsakymai

Kaip padaryti, kad (1 << 9) praeiti MISRA?

Naudojame „Parasoft“ statinę analizę su „MISRA C 2004“ patvirtinimu. Mes norime apibūdinti konstantas taip: [1] #define MOTOR_ON (1 << 9) Tai parodytų, kad 9-asis ...
03 Feb rinkinys '14, 23:26