MISRA C:2012 Example-Suite https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite
Der Weg zur Fertigstellung der Zusammenstellung
Führen Sie [Benutzer] mit dem tatsächlichen Ordnernamen mit dem folgenden Docker-Befehl aus. Zuerst habe ich die reguläre Version von GCC eingeführt, die das Kompilieren mit GCC in Betracht zieht.
macOS
$ docker run -v /Users/[user]/Downloads/misra:/tmp/misra -it gcc /bin/bash
Ich teile den Ordner, weil ich ihn mit dem Editor auf der PC-Seite bearbeite.
# cd /tmp/misra
# git clone https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite.git
# cd Example-Suite/
Sie können während der Einführung andere Arbeiten ausführen, später jedoch.
docker
# apt update; apt -y upgrade
# apt install -y vim wget sudo apt-utils curl clang
Dateinamenliste
D_01_01.c D_01_support.c D_01_system.c D_02_01.c D_02_support.c D_02_system.c D_03_01.c D_03_support.c D_03_system.c D_04_01.c D_04_01.h D_04_02.c D_04_03.c D_04_04.c D_04_05.c D_04_06.c D_04_07.c D_04_08.h D_04_08_1.c D_04_08_2.c D_04_09.c D_04_10.c D_04_10_1.h D_04_10_2.h D_04_10_3.h D_04_11.c D_04_12.c D_04_13.c D_04_13.h D_04_14.c D_04_support.c D_04_system.c README.md R_01_01.c R_01_02.c R_01_03.c R_01_support.c R_01_system.c R_02_01.h R_02_01_1.c R_02_01_2.c R_02_02.c R_02_02.h R_02_03.c R_02_03.h R_02_04.c R_02_04.h R_02_05.c R_02_05.h R_02_06.c R_02_07.c R_02_support.c R_02_system.c R_03_01.c R_03_02.c R_03_support.c R_03_system.c R_04_01.c R_04_02.c R_04_support.c R_04_system.c R_05_01.h R_05_01_1.c R_05_01_2.c R_05_02.c R_05_03.c R_05_03.h R_05_04.c R_05_05.c R_05_06.c R_05_06.h R_05_07.c R_05_07.h R_05_08.h R_05_08_1.c R_05_08_2.c R_05_09.h R_05_09_1.c R_05_09_2.c R_05_support.c R_05_system.c R_06_01.c R_06_02.c R_06_support.c R_06_system.c R_07_01.c R_07_02.c R_07_03.c R_07_04.c R_07_04.h R_07_support.c R_07_system.c R_08_01.c R_08_02.c R_08_03.c R_08_03.h R_08_04.c R_08_04.h R_08_05.h R_08_05_1.c R_08_05_2.c R_08_06.h R_08_06_1.c R_08_06_2.c R_08_07.h R_08_07_1.c R_08_07_2.c R_08_08.c R_08_09.c R_08_09.h R_08_10.c R_08_11.h R_08_11_1.c R_08_11_2.c R_08_12.c R_08_13.h R_08_13_1.c R_08_13_2.c R_08_14.c R_08_support.c R_08_system.c R_09_01.c R_09_01.h R_09_02.c R_09_03.c R_09_04.c R_09_05.c R_09_support.c R_09_system.c R_10_01.c R_10_02.c R_10_03.c R_10_04.c R_10_04.h R_10_05.c R_10_06.c R_10_07.c R_10_08.c R_10_support.c R_10_system.c R_11_01.c R_11_02.c R_11_03.c R_11_04.c R_11_05.c R_11_06.c R_11_07.c R_11_08.c R_11_09.c R_11_support.c R_11_system.c R_12_01.c R_12_01.h R_12_02.c R_12_02.h R_12_03.c R_12_04.c R_12_05.c R_12_support.c R_12_system.c R_13_01.h R_13_01_1.c R_13_01_2.c R_13_02.c R_13_02.h R_13_03.c R_13_04.c R_13_05.h R_13_05_1.c R_13_05_2.c R_13_06.c R_13_support.c R_13_system.c R_14_01.c R_14_01.h R_14_02.c R_14_02.h R_14_03.c R_14_03.h R_14_04.c R_14_support.c R_14_system.c R_15_01.c R_15_02.c R_15_03.c R_15_04.c R_15_04.h R_15_05.c R_15_06.c R_15_06.h R_15_07.c R_15_07.h R_15_support.c R_15_system.c R_16_01.c R_16_02.c R_16_03.c R_16_04.c R_16_05.c R_16_06.c R_16_07.c R_16_support.c R_16_system.c R_17_01.c R_17_02.c R_17_02.h R_17_03.c R_17_04.c R_17_05.c R_17_05.h R_17_06.c R_17_07.c R_17_08.c R_17_08.h R_17_support.c R_17_system.c R_18_01.c R_18_01.h R_18_02.c R_18_02.h R_18_03.c R_18_03.h R_18_04.c R_18_05.c R_18_06.h R_18_06_1.c R_18_06_2.c R_18_07.c R_18_08.c R_18_support.c R_18_system.c R_19_01.c R_19_01.h R_19_02.c R_19_support.c R_19_system.c R_20_01.c R_20_01.h R_20_02.c R_20_03.c R_20_03.h R_20_04.c R_20_05.c R_20_06.c R_20_07.c R_20_08.c R_20_09.c R_20_10.c R_20_11.c R_20_12.c R_20_13.c R_20_14.c R_20_14_1.h R_20_14_2.h R_20_support.c R_20_system.c R_21_01.c R_21_02.c R_21_03.c R_21_04.c R_21_05.c R_21_06.c R_21_07.c R_21_08.c R_21_09.c R_21_10.c R_21_11.c R_21_12.c R_21_13.c R_21_14.c R_21_14.h R_21_15.c R_21_16.c R_21_17.c R_21_18.c R_21_19.c R_21_20.c R_21_support.c R_21_system.c R_22_01.c R_22_01.h R_22_02.c R_22_02.h R_22_03.c R_22_03.h R_22_04.c R_22_04.h R_22_05.c R_22_05.h R_22_06.c R_22_06.h R_22_07.c R_22_08.c R_22_09.c R_22_10.c R_22_support.c R_22_system.c mc3_header.h mc3_types.h
cat D_01_system.c /*
include "mc3_types.h" include "mc3_header.h"
int main ( void ) { D_1_main_support ( ); return 0; }
/* end of D_01_system.c */
xx_system.Alles was Sie tun müssen, ist zu kompilieren und auszuführen. C.
# 5.Erstellung von Shell-Skripten
Sie können make verwenden, aber vorerst Shell verwenden.
# 6. misra_c.h bearbeiten
Bisher MISRA-Codefragmente, C, C.++Bearbeiten Sie die Header-Datei, die zum Kompilieren des Codefragments des Sprachstandards von verwendet wird.
MISRA C Zusammenfassung#include <misra_c.h>
https://qiita.com/kaizen_nagoya/items/f1a79a7cbd281607c7c9
#Fortschritt
Ich werde die korrigierten Quellen, die von MISRA erstellt wurden, einzeln erläutern.
docker(201) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(1) D_04_03.c
https://qiita.com/kaizen_nagoya/items/780be9109348340e20e0
docker(202) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(2) R_02_02.c
https://qiita.com/kaizen_nagoya/items/496869b87dd3d29cea8b
docker(203) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(3) R_05_03.c
https://qiita.com/kaizen_nagoya/items/cb0d1da183f4f1e9e59d
docker(204) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(4) R_07_04.c
https://qiita.com/kaizen_nagoya/items/73b9f16638273a74d807
docker(205) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(5) R_08_04.c
https://qiita.com/kaizen_nagoya/items/c753db14cc95a9303fa5
docker(206) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(6) R_09_0x.c
https://qiita.com/kaizen_nagoya/items/8ad38c8728440688255c
docker(207) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(7) R_10_0x.c
https://qiita.com/kaizen_nagoya/items/05dd6f6c14aeafbe3e71
docker(208) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(8) R_11_0x.c
https://qiita.com/kaizen_nagoya/items/9962647a1b510825fa6e
docker(209) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(9) R_13_0x.c
https://qiita.com/kaizen_nagoya/items/dcd2de1267e3c3449536
docker(210) gcc(gnu), clang(llvm)Kompilieren Sie den Fehler- / Warnvergleich(10) R_14_0x.c
https://qiita.com/kaizen_nagoya/items/772f49486e7cca1dbeb9
#Das Ende der Straße
Arbeitsergebnisse auf Docker Hub
#### **`macOS`**
```shell-session
$ docker push kaizenjapan/misra_c_2012_example
#Der Tag nach dem letzten Tag der Reise
Am nächsten Tag fortfahren
$ docker run -v /Users/[user]/Downloads/misra:/tmp/misra -it kaizenjapan/misra_c_2012_example /bin/bash
MISRA C Zusammenfassung#include <misra_c.h> https://qiita.com/kaizen_nagoya/items/f1a79a7cbd281607c7c9
#Umgebung
docker gcc(g++) and llvm(clang++) https://qiita.com/kaizen_nagoya/items/059874ea39c4de64c0f7
docker(40)3 Arten von C-Compiler mit Docker(Teil 2) https://qiita.com/kaizen_nagoya/items/8f5b7fd977597269a7e7
February 2020, MISRA Compliance:2020 https://www.misra.org.uk/forum/viewtopic.php?f=241&t=1842 ISBN 978-1-906400-26-2
was published as second version.
August 2016, MISRA Compliance:2016 https://www.misra.org.uk/forum/viewtopic.php?f=241&t=1561 was published first version.
I compare 2 documents and consider the difference. And some propose are proposed.
Preface Contents Before MISRA MISRA history Comparison of MISRA Compliance:2016 and 2020
#MISRA history
| word | Wort | count |
|---|---|---|
| the | Das | 842 |
| of | von | 433 |
| to | Zu | 376 |
| a | a | 369 |
| be | Werden | 265 |
| and | Und | 223 |
| is | ist | 222 |
| in | Zu | 209 |
| code | Millionär | 163 |
| for | zum | 135 |
| that | Es | 133 |
| guidelines | Richtlinien | 115 |
| are | Ist | 114 |
| as | Damit | 108 |
| it | Es | 99 |
| by | Entlang | 97 |
| misra | MISRA | 96 |
| with | Wann | 95 |
| compliance | Beachtung | 91 |
| may | Kann | 88 |
| guideline | Richtlinien | 87 |
| which | welcher | 80 |
| or | Oder | 79 |
| this | Dies | 75 |
| not | Abwesend | 74 |
| deviation | Abweichung | 71 |
| an | von | 63 |
| tool | Werkzeug | 59 |
| process | Herstellen | 58 |
| project | Unternehmen | 58 |
| analysis | Analyse | 56 |
| required | Verpflichtend | 53 |
| adopted | Rekrutierung | 52 |
| compiler | Compiler | 52 |
| will | werden | 51 |
| any | Irgendein | 48 |
| been | Ist | 48 |
| on | über | 47 |
| rule | Regeln | 47 |
| have | Haben | 44 |
| use | verwenden | 42 |
| can | es kann | 41 |
| development | Entwicklung von | 41 |
| there | Dort | 40 |
| within | innerhalb | 40 |
| software | Software | 39 |
| violations | Verstoß | 39 |
| when | Wann | 38 |
| deviations | Abweichung | 37 |
| should | sollte | 37 |
| c | c | 36 |
| has | haben | 36 |
| possible | Möglich | 36 |
| tools | Werkzeug | 36 |
| time | Zeit | 35 |
| example | Beispiel | 34 |
| if | wenn | 34 |
| language | Sprache | 34 |
| used | gebraucht | 34 |
| re | Re | 31 |
| requirements | Bedarf | 30 |
| acquirer | Acquirer | 29 |
| these | diese | 29 |
| some | Ein paar | 27 |
| static | statisch | 27 |
| such | so wie das | 27 |
| supplier | Lieferant | 27 |
| compliant | Konform | 26 |
| from | Von | 26 |
| advisory | Rat | 25 |
| but | Aber | 25 |
| quality | Qualität | 25 |
| violation | Verstoß | 25 |
| mandatory | Verpflichtend | 23 |
| must | Muss | 23 |
| standard | Standard | 23 |
| at | damit | 22 |
| source | Quelle | 22 |
| system | System | 22 |
| all | alles | 21 |
| document | Dokument | 20 |
| following | Weniger als | 20 |
| iso | iso | 19 |
| only | nur | 19 |
| order | bestellen | 19 |
| other | Andere | 19 |
| shall | Machen | 19 |
| behaviour | Bewegung | 18 |
| categorized | Klassifiziert | 18 |
| category | Einstufung | 18 |
| developed | Entwickelt | 18 |
| each | jeder | 18 |
| grp | grp | 18 |
| level | Niveau | 18 |
| library | Bibliothek | 18 |
| no | Nummer | 18 |
| section | Sektion | 18 |
| where | Wo | 18 |
| being | Sein | 17 |
| native | Angeboren | 17 |
| need | notwendig | 17 |
| organization | Organisation | 17 |
| record | Aufzeichnung | 17 |
| scope | Reichweite | 17 |
| also | Ebenfalls | 16 |
| between | Zwischen | 16 |
| defined | Definiert | 16 |
| permits | Genehmigung | 16 |
| plan | Pläne | 16 |
| their | ihr | 16 |
| they | Sie | 16 |
| type | Schimmel | 16 |
| would | Wird besorgt | 16 |
| applied | Angewandt | 15 |
| b | b | 15 |
| different | Falsch | 15 |
| does | Machen | 15 |
| iec | iec | 15 |
| issues | Problem | 15 |
| metrics | Messstandard | 15 |
| permit | Genehmigung | 15 |
| rules | Regeln | 15 |
| safety | Sicherheit | 15 |
| therefore | Deshalb | 15 |
| both | beide | 14 |
| case | Wenn | 14 |
| enforcement | Ausführung | 14 |
| ensure | Sichern | 14 |
| many | viele | 14 |
| more | Mehr | 14 |
| permitted | Dürfen | 14 |
| s | s | 14 |
| systems | System | 14 |
| validation | Überprüfung | 14 |
| comply | Folgen | 13 |
| disapplied | Enttäuscht | 13 |
| however | jedoch | 13 |
| implementation | Implementierung | 13 |
| means | meint | 13 |
| one | 1 | 13 |
| same | das Gleiche | 13 |
| appendix | Blinddarm | 12 |
| bit | Binärzahl | 12 |
| categorization | Einstufung | 12 |
| during | Innerhalb | 12 |
| header | Header | 12 |
| necessary | notwendig | 12 |
| object | Ziel | 12 |
| style | bilden | 12 |
| approved | genehmigt | 11 |
| cannot | Kann nicht | 11 |
| cases | Vorfall | 11 |
| coding | Codierung | 11 |
| configured | Vorkonfiguriert | 11 |
| described | erklärt | 11 |
| documentation | Dokumentation | 11 |
| expression | Gesichtsausdruck | 11 |
| files | Datei | 11 |
| identified | Identifiziert | 11 |
| information | Information | 11 |
| its | Das | 11 |
| made | Gemacht | 11 |
| provide | zur Verfügung stellen | 11 |
| provided | Angebot | 11 |
| review | Rezension | 11 |
| security | Linderung | 11 |
| staff | Faktor | 11 |
| those | Jene | 11 |
| translation | Übersetzung | 11 |
| appropriate | Angemessen | 10 |
| available | Verfügbar | 10 |
| developer | Entwickler | 10 |
| essential | Verpflichtend | 10 |
| even | sogar | 10 |
| file | Datei | 10 |
| important | wichtig | 10 |
| make | erstellen | 10 |
| messages | Botschaft | 10 |
| multiplication | Multiplizieren | 10 |
| non | Nicht | 10 |
| note | Hinweis | 10 |
| operands | Betroffenes Kind | 10 |
| processes | Prozess | 10 |
| reason | Grund | 10 |
| records | Aufzeichnung | 10 |
| result | Ergebnis | 10 |
| reviewed | Untersuchung | 10 |
| then | danach | 10 |
| undecidable | Kann mich nicht entscheiden | 10 |
| using | mit | 10 |
| version | Auflage | 10 |
| wider | breit | 10 |
| without | Keiner | 10 |
| additional | hinzufügen | 9 |
| apply | Anwenden | 9 |
| checking | Bestätigen | 9 |
| control | Steuerung | 9 |
| functional | funktional | 9 |
| gcs | gcs | 9 |
| how | Wie | 9 |
| international | International | 9 |
| macro | groß | 9 |
| management | Management | 9 |
| produced | Produziert | 9 |
| product | Produkt | 9 |
| programming | Programmierung | 9 |
| run | Lauf | 9 |
| violated | Verletzt | 9 |
| analyser | Analytiker | 8 |
| associated | Beziehung | 8 |
| checked | Inspiziert | 8 |
| checks | Inspektion | 8 |
| claim | Anspruch | 8 |
| compilers | Compiler | 8 |
| composite | zusammengesetzt | 8 |
| do | Machen | 8 |
| e | e | 8 |
| every | jeder | 8 |
| form | bilden | 8 |
| given | gegeben | 8 |
| introduced | Einführung | 8 |
| message | Botschaft | 8 |
| might | Kann | 8 |
| number | Nummer | 8 |
| part | Abteilung | 8 |
| practice | trainieren | 8 |
| produce | produzieren | 8 |
| provides | zur Verfügung stellen | 8 |
| set | einstellen | 8 |
| single | Single | 8 |
| standardization | Standardisierung | 8 |
| standards | Standard | 8 |
| step | ein Schritt | 8 |
| summary | Überblick | 8 |
| supported | Unterstützt | 8 |
| two | zwei | 8 |
| value | Wert | 8 |
| various | verschiedene | 8 |
| versions | Auflage | 8 |
| activities | Aktivitäten | 7 |
| agreement | Vertrag | 7 |
| binary | Binär | 7 |
| check | prüfen | 7 |
| correct | richtig | 7 |
| could | vielleicht......richtig | 7 |
| define | Definieren | 7 |
| dir | dir | 7 |
| documents | Unterlagen | 7 |
| execution | Lauf | 7 |
| extensions | Erweiterung | 7 |
| function | Funktion | 7 |
| include | Einschließlich | 7 |
| into | Zu | 7 |
| ltd | Co., Ltd. | 7 |
| most | die meisten | 7 |
| nature | Natur | 7 |
| options | Entscheidungen | 7 |
| performance | Performance | 7 |
| program | Programm | 7 |
| providing | Angebot | 7 |
| related | Bezüglich | 7 |
| report | Bericht | 7 |
| require | Ich brauche | 7 |
| risk | Achtung | 7 |
| see | sehen | 7 |
| significant | wichtig | 7 |
| situations | Status | 7 |
| size | Größe | 7 |
| so | damit | 7 |
| specified | Spezifizierten | 7 |
| support | Unterstützung | 7 |
| task | Arbeitsplätze | 7 |
| testing | Prüfung | 7 |
| training | Ausbildung | 7 |
| uint | uint | 7 |
| well | Gut | 7 |
| whether | ob | 7 |
| written | Verzeichnet | 7 |
| approach | Weise | 6 |
| because | weil | 6 |
| capable | Talentiert | 6 |
| circumstances | Status | 6 |
| claimed | Beharrte | 6 |
| classification | Einstufung | 6 |
| clearly | Deutlich | 6 |
| consider | Erwägen | 6 |
| design | Design | 6 |
| diagnosis | Diagnose | 6 |
| directive | Befehl | 6 |
| effort | Anstrengung | 6 |
| errors | Entschuldigen | 6 |
| exactly | genau | 6 |
| examples | Beispiel | 6 |
| f | f | 6 |
| guide | Orientierungshilfe | 6 |
| horiba | Horiba | 6 |
| implement | Implementieren | 6 |
| included | Einschließlich | 6 |
| likely | vielleicht | 6 |
| limited | Begrenzt | 6 |
| list | Aufführen | 6 |
| mira | MIRA | 6 |
| outside | draußen | 6 |
| over | das ist alles | 6 |
| particular | Insbesondere | 6 |
| performed | Hingerichtet | 6 |
| phase | Bühne | 6 |
| place | Ort | 6 |
| references | Referenz | 6 |
| simply | einfach | 6 |
| since | Seit damals | 6 |
| sometimes | Manchmal | 6 |
| specific | definitiv | 6 |
| t | t | 6 |
| taken | Genommen | 6 |
| than | Als | 6 |
| types | Schimmel | 6 |
| understanding | Verstehen | 6 |
| unit | Einheit | 6 |
| FALSE | falsch | 6 |
Recommended Posts