gesamten Quellcode eines Programms ansehen

Hi Leute,
wisst ihr, wie man den GESAMTEN Quellcode (incl der "#incude "-Dateien) ansehen/abspeichern kann?

Liebe Grüße
georg1010

Mit jedem beliebigen Texteditor auf Deinem PC. Dort liegen alle Quelltexte, die Du in Deinem Sketch benutzt.

Gruß Tommy

georg1010:
wisst ihr, wie man den GESAMTEN Quellcode (incl der "#incude "-Dateien) ansehen/abspeichern kann?

Ja.

Ok. Langfassung:
Wenn der Sketch kompiliert wird, wird ein temporärer Speicherplatz angelegt.
Wenn Du Deinen Code kompilierst, bekommst Du unten eine Ausgabe.
Die letzten Zeilen sehen so aus:

/home/userxxx/arduino-Version/hardware/tools/avr/bin/avr-size -A /tmp/arduino_build_425042/sketch_apr09c.ino.elf
Der Sketch verwendet 14450 Bytes (5%) des Programmspeicherplatzes. Das Maximum sind 253952 Bytes.
Globale Variablen verwenden 683 Bytes (8%) des dynamischen Speichers, 7509 Bytes für lokale Variablen verbleiben. Das Maximum sind 8192 Bytes.

In der ersten Zeile findet sich der Speicherort:

/tmp/arduino_build_425042

Dort findest Du alles, was zu diesem Sketch benötigt wird.
Solange wie Du den Sketch nicht schliesst, kannst Du davon eine Kopie anfertigen oder ein Archiv...

Wenn ich seinen Pfeil im Bild richtig interpretiere, braucht es den Inhalt vom tmp/... überhaupt nicht.
Er will ja nur die Quelltexte der Libs (er schreibt incl. #include).
Die hat er ja auch. Evtl. kann man im Übersetzungslauf schauen, welche Libs alles angezogen werden.

Gruß Tommy

Tommy56:
Er will ja nur die Quelltexte der Libs (er schreibt incl. #include).

Nach meinem Verständnis war es Quelltext UND eingebundene Libs.
Der Zugriff auf diesen Ordner hat den Vorteil, das eingebundene libs aus den libs ebenfalls mitgenommen werden.

Als Beispiel:
Lege einen Sketch an, die die Ethernet-Lib verwendet.
Wenn SPI nicht im Sketch deklariert wird, geht Dir die Lib verloren.
Im temporären Ordner ist sie aber vorhanden, weil von ethernet verwendet.

Das ist richtig, aber SPI ist ein Bestandteil der Core-Libs des MC. Wenn man die auch mit archivieren will, dann sollte man besser gleich auch die IDE, mit der gebaut wurde incl. der Core-Packages mit archivieren.
An der Stelle ist halt die Aussage vom TO etwas schwammig, aber er hat ja jetzt alle Möglichkeiten und kann sich aussuchen, was zu seinem Vorhaben passt.

Gruß Tommy

Tommy56:
SPI ist ein Bestandteil der Core-Libs

Ist aber eine Lib und wird nur eingebunden, wenn tatsächlich verwendet.
Anders als z.B. stream - da bin ich mal drüber gestolpert - oder print. Die werden im core-Ordner abgelegt.

An der Stelle ist halt die Aussage vom TO etwas schwammig

Ja :wink:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.