Docker (200) Misra Example Suite bei Docker Der Weg zum Abschluss der Kompilierung

MISRA C:2012 Example-Suite https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite

Der Weg zur Fertigstellung der Zusammenstellung

Die Straße 1. Einführung von Docker

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.

Straße 2 herunterladen

# cd /tmp/misra
# git clone https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite.git
# cd Example-Suite/

3. Straße 3 Einführung von Clang (llvm)

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

4. Strukturerhebung

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

Preface

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.

Contents

Preface Contents Before MISRA MISRA history Comparison of MISRA Compliance:2016 and 2020

Before MISRA

#MISRA history

Comparison 2016 and 2020

2020 word list

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

Docker (200) Misra Example Suite bei Docker Der Weg zum Abschluss der Kompilierung
[Java] Um die Typinformationen der Typparameter zur Laufzeit zu kennen
Ich habe versucht, eine Umgebung mit WSL2 + Docker + VSCode zu erstellen
Docker-Überwachung - Erläuterung der Grundlagen der Grundlagen
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
Ubuntu unter WSL2: Unter Unix kann keine Verbindung zum Docker-Daemon hergestellt werden
Der Weg von JavaScript nach Java
[Java Servlet] Die Straße von Senri ist auch ein Schritt zum ersten
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
Ändern Sie den Raum mit halber Breite von STS (Spring Tool Suite) von "u" in "・".
Immerhin wollte ich den Inhalt von MySQL mit Docker in der Vorschau anzeigen ...
So implementieren Sie die E-Mail-Authentifizierungsfunktion zum Zeitpunkt der Benutzerregistrierung