Alle öffentlichen Logbücher

Aus C und Assembler mit Raspberry

Dies ist die kombinierte Anzeige aller in C und Assembler mit Raspberry geführten Logbücher. Die Ausgabe kann durch die Auswahl des Logbuchtyps, des Benutzers oder des Seitentitels eingeschränkt werden (Groß-/Kleinschreibung muss beachtet werden).

Logbücher
(neueste | älteste) Zeige ( | ) (20 | 50 | 100 | 250 | 500)
  • 20:41, 9. Mär. 2025 Satyria Diskussion Beiträge lud Datei:Verbindung.png hoch
  • 20:09, 9. Mär. 2025 Satyria Diskussion Beiträge erstellte die Seite Datei:OpenOcd.png
  • 20:09, 9. Mär. 2025 Satyria Diskussion Beiträge lud Datei:OpenOcd.png hoch
  • 16:34, 7. Mär. 2025 Satyria Diskussion Beiträge erstellte die Seite Bare-Metal Debugging (JTAG, RPI 4) (Die Seite wurde neu angelegt: „Linux“)
  • 09:14, 5. Mär. 2025 Satyria Diskussion Beiträge erstellte die Seite Printf in BareMetal (PI4) (Die Seite wurde neu angelegt: „== printf == Bis hierhin haben wir vieles selbst gemacht. Wir haben einen Weg gefunden, wie der Raspberry Pi Texte auf den Bildschirm anzeigen kann. Allerdings hat unsere `DrawString`-Funktion nicht viele Vorteile. Viele kennen wahrscheinlich die `printf`-Funktion aus der Programmiersprache C. Diese Funktion kann formatierte Ausgaben erzeugen, bei denen auch Variablen eingebunden werden können. Da wir in einer Umgebung ohne Betriebssystem programmieren…“)
  • 09:09, 5. Mär. 2025 Satyria Diskussion Beiträge erstellte die Seite Das Terminal in C (PI4) (Die Seite wurde neu angelegt: „== Das Terminal == Nachdem wir nun Zeichen auf den Bildschirm anzeigen können, werden wir ein Terminal bauen. Ein Terminal ist ein Bereich auf dem Bildschirm, in dem Texte angezeigt werden können und später auch Eingaben erfolgen können. Ein Beispiel für ein Terminal ist die Eingabeaufforderung, die beim Starten von Linux erscheint. == Wie sieht ein Terminal aus? == Zuerst müssen wir uns überlegen, wie das Terminal aussehen soll. Da wir die Bild…“)
  • 08:35, 5. Mär. 2025 Satyria Diskussion Beiträge erstellte die Seite Chars in C (PI4) (Die Seite wurde neu angelegt: „== Zeichnen von Zeichen auf dem Raspberry Pi == Nachdem wir eine Funktion zum Setzen einzelner Pixel implementiert haben, möchten wir nun dem Raspberry Pi beibringen, Text auf dem Bildschirm anzuzeigen. Texte bestehen aus Schriftzeichen, die der Computer nicht von Natur aus kennt. Ähnlich wie ein Mensch muss der Computer zunächst "lernen", wie jedes einzelne Zeichen aussieht, bevor er es darstellen kann. Diese Zeichen sind in einem bestimmten Code defi…“)
  • 12:24, 26. Feb. 2025 Satyria Diskussion Beiträge erstellte die Seite Grafik in C (PI4) (Die Seite wurde neu angelegt: „Bisher sind die Ergebnisse, die wir bisher programmiert haben, nicht allzu aufwendig gewesen. Bisher konnte der Raspberry nicht wirklich mit der Ausenwelt kommunizieren. Es war "nur" eine LED, die geleuchtet oder geblinkt hat. Natürlich ist mit diesem Wissen bisher, jeder Zeit möglich, den GPIO entsprechend zu programmieren, so dass viel mehr gemacht werden kann, als diese Beispiele bisher zeigten. Im Internet gibt es viele Beispiele, für welche Dinge…“)
  • 12:20, 26. Feb. 2025 Satyria Diskussion Beiträge erstellte die Seite Fehlerbehandlung in C (PI4) (Die Seite wurde neu angelegt: „Da wir bisher keine Möglichkeit haben, uns gezielt Informationen anzuzeigen, nutzen wir die LED, um zu erkennen, wenn ein Fehler auftritt. Dazu erstellen wir eine Funktion, die mithilfe der LED einen Fehlercode anzeigt. Wir erweitern dafür unseren „led.c“-Code um folgende Funktion: <syntaxhighlight lang="C"> void LED_Error(u32 errorcode) { while (TRUE) { for (u32 z = 0; z < errorcode; z++) { LED_on(); // LED e…“)
  • 09:19, 26. Feb. 2025 Satyria Diskussion Beiträge erstellte die Seite Lass die LED leuchten in C (PI4) (Die Seite wurde neu angelegt: „Unser jetziges Ziel ist es, die fest eingebaute LED des Raspberry Pi zum Blinken zu bringen. Ich werde jeden Schritt erklären, warum er in diesem Projekt so implementiert wurde. === Vorbereitung des Verzeichnisses === Erstelle zunächst ein neues Verzeichnis, z.B. LED, und platziere darin das Makefile und die Datei linker.ld. Erzeuge auch das Verzeichnis include innerhalb von LED, um unsere Header-Dateien zu organisieren. === Programmierung des Startv…“)
  • 08:56, 26. Feb. 2025 Satyria Diskussion Beiträge erstellte die Seite Unser erstes Programm in C (PI4) (Die Seite wurde neu angelegt: „Die Programmierung des Raspberry Pi 4 wird ähnlich durchgeführt, wie die Programmierung des Raspberry's Pi 5. Ich habe hierzu den den Kurs dort herauskopiert und es entsprechend angepasst. Ich habe es aus den Gründen gemacht, da ich USB unterstützen möchte und es inzwischen mehr Informationen zum RPI4 gibt, als für den RPI5. Idealerweise hatte ich dort ein Terminal programmiert, welches ich sehr gut zum Debuggen verwenden kann. In diesem Sinne, kan…“)
  • 13:24, 6. Dez. 2024 Satyria Diskussion Beiträge erstellte die Seite Programmablauf steuern (Die Seite wurde neu angelegt: „== Bedingungsloser Sprung == -> b label * Bedingungsflags negativ: N gesetzt, wenn Ergebnis negativ ist zero: z gesetzt wenn Ergebnis null ist carry: c gesetzt, wenn es einen Überlauf gab. add -> wenn größer als Zahlenbereich (Überlauf), Subtraktion gesetzt, wenn Ergebnis keine Ausleihe. bei Verschieben letzte Bit herausgeschoben. overflow: o gesetzt bei addition und subtraktion, wenn Ergebnis größer oder gleich 2^31, oder kleiner -2^31 Flags…“)
  • 15:47, 1. Dez. 2024 Satyria Diskussion Beiträge erstellte die Seite Datei:Gdb3.png
  • 15:47, 1. Dez. 2024 Satyria Diskussion Beiträge lud Datei:Gdb3.png hoch
  • 15:46, 1. Dez. 2024 Satyria Diskussion Beiträge erstellte die Seite Datei:Gdb2.png
  • 15:46, 1. Dez. 2024 Satyria Diskussion Beiträge lud Datei:Gdb2.png hoch
  • 15:46, 1. Dez. 2024 Satyria Diskussion Beiträge erstellte die Seite Datei:Gdb1.png
  • 15:46, 1. Dez. 2024 Satyria Diskussion Beiträge lud Datei:Gdb1.png hoch
  • 12:10, 29. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Das Terminal (PI5) (Die Seite wurde neu angelegt: „// // screen.S // #include "config.h" #include "base.h" #include "mailbox.h" #define maxZeichen 240 #define maxZeilen 108 Dimension: #define FONT_WIDTH 8 #define FONT_HEIGHT 8 #define FONT_MAX 256 .section .text // bolean Init_Screen (void) // .globl Init_Screen Init_Screen: stp x29, x30, [sp, -16]! mov x29, sp ldr w0,=BCM_MAILBOX_PROP_OUT //Kanal ldr x1,=pScreen //ScreenStruktur 1: bl BcmMailBox_Write //Rufe die Mailbox auf…“)
  • 20:32, 28. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Überblick ARM 32-Bit Befehlssatz (Die Seite wurde neu angelegt: „Hier gibt es eine Auflistung aller mir bekannten Befehlssätze für den ARM. Diese wurde von folgenden Seiten frei übersetzt und meiner Formatierung angepasst: https://developer.arm.com/documentation/ Weitere Informationen sind: * Übergeordnete Übersicht über den Prozessor: https://developer.arm.com/documentation/den0024/a/ * ARM Referenzhandbuch: https://developer.arm.com/documentation/ddi0487/ja/ == Namenskonvention == In der folgenden Liste werd…“)
  • 13:18, 28. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Multiplizieren, Dividieren und Akkumulation (Die Seite wurde neu angelegt: „In diesem Abschnitt werden wir die Grundlagen der Multiplikation und Division im ARM64-Assembler behandeln, einschließlich der Arbeit mit negativen Zahlen und der Handhabung von Überläufen und großen Zahlen. Wir werden sowohl einfache Operationen als auch komplexere Szenarien betrachten, wie z.B. die Multiplikation zweier 64-Bit-Zahlen zu einer 128-Bit-Zahl und die Division einer 128-Bit-Zahl. == Einfache Multiplikation: mul-Befehl == Der mul-Befehl…“)
  • 11:04, 26. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Addieren und Subtrahieren (Die Seite wurde neu angelegt: „== Addieren und Subtrahieren in ARM64-Assembler == In diesem Abschnitt werden wir einfache arithmetische Operationen wie Addieren und Subtrahieren in ARM64-Assembler beschreiben. Dabei werden wir die Befehle add und sub genauer betrachten, den Umgang mit Überlauf und Unterlauf erläutern und zeigen, wie man mit mehreren Registern und direkten Werten arbeitet. == Einfache arithmetische Operationen: add und sub == === Der add-Befehl === Der add-Befehl wir…“)
  • 09:27, 26. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Laden und Speichern von Werten (Die Seite wurde neu angelegt: „== Laden und Speichern von Werten in ARM64-Assembler == In diesem Abschnitt werden wir ausführlich und verständlich die grundlegenden Konzepte des Ladens und Speicherns von Werten in ARM64-Assembler behandeln. Dies umfasst das Laden von konstanten und variablen Werten in Register sowie das Speichern von Registerwerten im Speicher. Wir werden die Befehle ldr und str detailliert besprechen. Diese Anleitung ist für Anfänger geschrieben und soll Ihnen hel…“)
  • 14:24, 20. Nov. 2024 Satyria Diskussion Beiträge löschte die Seite Vorstellung der ARM64-Register (x0 - x30, SP, PC) (Inhalt war: „Im ersten Programm wurden verschiedene Register verwendet. Ich möchte hier nun dies beschreiben. * CPU-Register -> Ein 64-Bit-Programm auf einem ARM-Prozessor im Benutzermodus hat Zugriff auf 31 Allzweckregister, einen Programmzähler (PC) und eine Kombination aus Nullregister/Stapelzeiger * x0-x30 * SP, XZR * x30, LR * PC * w0-w30, wzr: sind x-Register, die die unteren 32-Bi…“. Einziger Bearbeiter: Satyria (Diskussion))
  • 14:10, 20. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Vorstellung der ARM64-Register (x0 - x30, SP, PC) (Die Seite wurde neu angelegt: „Im ersten Programm wurden verschiedene Register verwendet. Ich möchte hier nun dies beschreiben.“)
  • 11:03, 20. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Das erste Programm "Hello World" (Die Seite wurde neu angelegt: „ <syntaxhighlight lang="asm"> .global _start _start: mov x0,#1 ldr x1,=helloworld mov x2,#13 mov x8,#64 svc 0 mov x0,#0 mov x8,#93 svc 0 .data helloworld: .ascii "Hello World!\n" helloworldlen: .word .-helloworld </syntaxhighlight> <syntaxhighlight lang="shell"> as -o HelloWorld.o HelloWorld.s ld -o HelloWorld HelloWorld.o </syntaxhighlight>“)
  • 10:52, 20. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Register und Speicher (Die Seite wurde neu angelegt: „ == Vorstellung der ARM64-Register (x0 - x30, SP, PC) == == Unterschiede zwischen allgemeinen und speziellen Registern == == Speicherorganisation und -adressierung ==“)
  • 09:04, 20. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Allgemeines zu Zahlen (Dezimal, Binär, Hexadezimal) (Die Seite wurde neu angelegt: „== Dezimalsystem (Basis 10) == Das Dezimalsystem ist das am häufigsten verwendete Zahlensystem und basiert auf der Basis 10. Es verwendet die Ziffern 0 bis 9. Beispiel: 156 im Dezimalsystem bedeutet: 1 * 10^2 + 5 * 10^1 + 6 * 10^0 = 100 + 50 + 6 = 156 == Binärsystem (Basis 2) == Das Binärsystem verwendet die Basis 2 und verwendet nur zwei Ziffern: 0 und 1. Dieses System wird intern in Computern verwendet, da es sich leicht mit elektronischen Schalter…“)
  • 13:12, 19. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Tools, die zur Programmierung benötigt werden (Die Seite wurde neu angelegt: „== Tools == * GNU MAKE -> make -B: erstellt neue Kompilierungen * GDB break (b) line Set breakpoint at line run (r) Run the program step (s) Single step program continue (c) Continue running the program quit (q or control-d) Exit gdb control-c Interrupt the running program info registers (i r) Print out the registers info break Print out the breakpoints delete n Delete breakpoint n x /Nuf expression Show contents of memory * Gross-Compiling *…“)
  • 12:44, 19. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Die wichtigsten Linux-Terminal-Befehle (Die Seite wurde neu angelegt: „In der Linux-Konsole gibt es eine Vielzahl von Befehlen, die für unterschiedliche Aufgaben nützlich sind. Hier sind einige der wichtigsten und häufig verwendeten Befehle: 1. Navigationsbefehle: :: * ls: Listet Dateien und Verzeichnisse im aktuellen Verzeichnis auf. :: * cd [Verzeichnis]: Wechselt das aktuelle Verzeichnis. :: * pwd: Zeigt das aktuelle Verzeichnis an. 2. Dateiverwaltungsbefehle: cp [Quelle] [Ziel]: Kopiert eine Datei oder ein Verzeich…“)
  • 12:36, 18. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Programmierumgebung unter Linux erstellen und testen (Die Seite wurde neu angelegt: „== Einrichtung der Entwicklungsumgebung == == Installation der notwendigen Tools wie Assembler, Compiler und Debugger == == Erste Schritte mit einem einfachen "Hello, World!"-Programm in Assembler == == Testen der Umgebung durch Kompilieren und Ausführen von Assemblerprogrammen ==“)
  • 09:05, 4. Nov. 2024 Satyria Diskussion Beiträge erstellte die Seite Programmieren mit ARM64 Assembler (Die Seite wurde neu angelegt: „Der ARM ist ein sogenannter RISC-Computer, was das Erlernen von Assembler theoretisch einfacher macht. Interaktion mit anderen Programmiersprachen Zugriff auf Hardwaregeräte Anweisungen für den Gleitkommaprozessor Anweisungen für den NEON-Prozessor“)
  • 09:27, 27. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Datenverarbeitung unmittelbaren Operanden (Immediate Operands) (Die Seite wurde neu angelegt: „== Arithmetik (unmittelbar) == Dies bezieht sich auf arithmetische Operationen, die direkt mit sofortigen (Immediates) Werten ausgeführt werden. Beispiele sind Addition, Subtraktion, etc., wobei einer der Operanden ein konstanter Wert ist. Die arithmetischen (unmittelbar) Anweisungen akzeptieren einen 12-Bit-unvorzeichenlosen Sofortwert, der optional um 12 Bit nach links verschoben werden kann. Die arithmetischen (unmittelbar) Anweisungen, die keine Be…“)
  • 11:03, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Lade- und Speicheranweisungen (Die Seite wurde neu angelegt: „Die "Lade- und Speicheranweisungen" im ARMv8 sind essenziell für den Zugriff auf den Speicher, sowohl um Daten zu lesen (Load) als auch zu schreiben (Store). Diese Anweisungen sind entscheidend für jede Art von Datenverarbeitung. == Grundlegendes == In der ARMv8-Architektur bedeutet "Load" das Laden von Daten aus dem Speicher in Register, während "Store" das Schreiben von Daten aus Register in den Speicher bedeutet. Dabei unterstützen "Loads and Stor…“)
  • 10:49, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Verzweigungen, Ausnahmegenerierung und Systemanweisungen (Die Seite wurde neu angelegt: „Lass uns die Themen Verzweigungen, Ausnahmegenerierung und Systemanweisungen in der ARMv8-Architektur ausführlich betrachten. == Verzweigungen (Branches) == Verzweigungen sind essenziell für die Programmsteuerung und die Implementierung von Schleifen, Bedingungslogik und Funktionsaufrufen. In ARMv8 gibt es verschiedene Instruktionen zum Handhaben von Verzweigungen. === Unbedingte Verzweigung === * B (Branch) :Beispiel: <code>B label</code> :Erläuter…“)
  • 10:30, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Überblick der A64-Befehlen (Die Seite wurde neu angelegt: „Inhalt: * Verzweigungen, Ausnahmegenerierung und Systemanweisungen“)
  • 09:23, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Speicheradressen (Die Seite wurde neu angelegt: „== Adressgenerierung == Der A64-Befehlssatz unterstützt 64-Bit-virtuelle Adressen (VAs). Der gültige VA-Bereich wird durch die folgenden Faktoren bestimmt: * Die Größe des implementierten virtuellen Adressraums. * Konfigurationseinstellungen der Memory Management Unit (MMU). Beschränkungen der VA-Größe bedeuten, dass die höchstwertigen Bits der virtuellen Adresse keine gültigen Adressbits enthalten.“)
  • 08:58, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Register (Die Seite wurde neu angelegt: „== Allzweckregister, Nullregister und Stapelzeiger == Die 31 Allzweckregister werden R0-R30 genannt. Das Register R31 zeigt den aktuellen Stapelzeiger oder das Nullregister dar. Wenn die Register in einer bestimmten Befehlsvariante verwendet werden, müssen sie qualifiziert sein, um die Operandendatengröße, 32 Bit oder 64 Bit, und die Datengröße des Befehls anzugeben. Wenn die Datengröße 32 Bit beträgt, werden die unteren 32 Bit des Registers ve…“)
  • 08:56, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Allzweckregister, Nullregister und Stapelzeiger (Die Seite wurde neu angelegt: „Die 31 Allzweckregister werden R0-R30 genannt. Das Register R31 zeigt den aktuellen Stapelzeiger oder das Nullregister dar. Wenn die Register in einer bestimmten Befehlsvariante verwendet werden, müssen sie qualifiziert sein, um die Operandendatengröße, 32 Bit oder 64 Bit, und die Datengröße des Befehls anzugeben. Wenn die Datengröße 32 Bit beträgt, werden die unteren 32 Bit des Registers verwendet und die oberen 32 Bit beim Lesen ignoriert. Bei…“)
  • 07:25, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Bedingungscodes (Die Seite wurde neu angelegt: „In der Archektetur des ARMv8 gibt es Befehle, die Bedingungsflags setzen oder Bedingungscodes oder beides testen. Zu den jeweiligen Befehlen wird darauf eingegangen, wenn diese Befehle dies unterstützen. Hier ist eine Auflistung der Bedingungscodes, die verwendet werden: Code Bedeutung (Ganzzahl) Bedeutung (Gleitkomma) Bedingungsflags {| class="wikitable" |+ Bedingungscodes |- ! Code !! Bedeutung (Ganzzahl) !! Bedeutung (Gleitkomma) !! Bedingungsflags |…“)
  • 07:15, 26. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite ARMv8-Übersicht (Die Seite wurde neu angelegt: „Inhalt: * Bedingungscodes“)
  • 11:13, 24. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Strukturen in Assembler (Die Seite wurde neu angelegt: „Strukturen (structs) sind in C ein wesentlicher Bestandteil zur Organisation und Gruppierung von Daten. In ARM64-Assembler können Strukturen durch die Offsets der einzelnen Felder simuliert werden. Hier ist eine Erklärung, wie man Strukturen in ARM64-Assembler umsetzt, einschließlich der Handhabung von verschachtelten Strukturen. Grundlagen Eine Struktur in C kann in ARM64-Assembler dargestellt werden, indem man die Offsets der einzelnen Mitglieder de…“)
  • 09:43, 24. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Schleifen in Assembler (Die Seite wurde neu angelegt: „Schleifen sind in der C-Programmierung ein grundlegendes Konstrukt zur wiederholten Ausführung eines Codeblocks. Die wichtigsten Schleifentypen in C sind '''for''', '''while''' und '''do-while'''. Hier zeige ich, wie du diese Schleifen in ARM64-Assembler umsetzen kannst. == for-Schleife == C-Code: <syntaxhighlight lang="C"> for (int i = 0; i < 10; i++) { // Schleifenrumpf } </syntaxhighlight> ARM64-Assembler: <syntaxhighlight lang="asm"> mov w0,…“)
  • 08:26, 24. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite C nach Assembler (Die Seite wurde neu angelegt: „Das Übersetzen von C-Code in Assembler (insbesondere für die ARM64-Architektur) erfordert einige spezifische Kenntnisse und Überlegungen. Hier sind einige wichtige Aspekte, die dabei beachtet werden sollten: 1. Grundlagen der ARM64-Architektur: Registers: ARM64 hat 31 allgemeine Register (x0 bis x30) und ein spezielles Stack-Pointer-Register (sp). Beachte, dass x0 bis x7 oft für Funktionsparameter und Rückgabewerte verwendet werden. Instruktionssatz…“)
  • 19:47, 19. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Make (Die Seite wurde neu angelegt: „**`make`** ist ein Build-Automatisierungstool, das häufig in Softwareprojekten verwendet wird, um Programme aus Quellcode zu kompilieren. Das GNU `make`-Programm führt Anweisungen aus, die in einer **Makefile**-Datei definiert sind, und entscheidet, welche Teile eines Projekts neu kompiliert oder neu erstellt werden müssen, indem es Abhängigkeiten zwischen Dateien analysiert und Zeitstempel prüft. Das Hauptziel von `make` ist es, den Build-Prozess zu…“)
  • 19:45, 19. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Objdump (Die Seite wurde neu angelegt: „**`objdump`** ist ein mächtiges Werkzeug aus der GNU-Binutils-Suite, das verwendet wird, um verschiedene Informationen über Objektdateien, ausführbare Dateien und Bibliotheken anzuzeigen. Es ermöglicht dir, maschinenlesbare Dateien wie **Objektdateien**, **ausführbare Dateien** und **Bibliotheken** in eine für Menschen verständlichere Form zu konvertieren. Mit `objdump` kannst du u.a. Disassemblierungen vornehmen, Symbole auflisten und den Inhalt v…“)
  • 19:43, 19. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Ld (Linker) (Die Seite wurde neu angelegt: „**GNU ld** ist der Linker der GNU Toolchain, der für die Verknüpfung von Objektdateien und Bibliotheken zu einer ausführbaren Datei, einem dynamischen Shared Object (DSO) oder einer Bibliothek verwendet wird. Der Linker spielt eine entscheidende Rolle in der Build-Pipeline eines C/C++-Projekts, indem er verschiedene Kompilierungsoutputs zusammenführt und externe Symbole auflöst. ### Hauptaufgaben des GNU Linkers (ld) 1. **Zusammenführung von Objek…“)
  • 19:41, 19. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite GNU Debugger (Die Seite wurde neu angelegt: „Der GNU Debugger (GDB) ist ein mächtiges und weit verbreitetes Debugging-Tool für Programme, die in Sprachen wie C, C++, Fortran und anderen entwickelt wurden. Es ermöglicht Entwicklern, Programme zu analysieren und Fehler zu beheben, indem es Funktionen wie Breakpoints, Step-by-Step-Durchführung und Speicherinspektion bereitstellt. GDB ist ein wesentlicher Bestandteil der GNU-Toolchain und wird häufig zusammen mit dem GNU C-Compiler (GCC) verwendet.…“)
  • 19:39, 19. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Kommentare (Die Seite wurde neu angelegt: „Kommentare sind eine essenzielle Komponente beim Schreiben von C-Code, und der GNU C-Compiler (GCC) behandelt sie genauso wie der ANSI C-Standard. Kommentare ermöglichen es, den Code für Entwickler verständlicher und wartbarer zu machen. Während der Kompilierung werden sie vollständig ignoriert und haben somit keinen Einfluss auf die erzeugte ausführbare Datei. Es gibt zwei Hauptarten von Kommentaren, die mit GCC verwendet werden können: 1. Einze…“)
  • 19:36, 19. Sep. 2024 Satyria Diskussion Beiträge erstellte die Seite Makros (Die Seite wurde neu angelegt: „Makroprogrammierung in C mit dem GNU C-Compiler (GCC) ermöglicht es, durch sogenannte Präprozessor-Makros wiederverwendbaren Code zu definieren, bevor die eigentliche Kompilierung stattfindet. Der Präprozessor in C führt Textersetzungen durch und wird oft für einfache, aber leistungsstarke Abstraktionen genutzt. == Grundlagen der Makroprogrammierung == Makros in C werden mit dem Schlüsselwort '''#define''' definiert und sind im Wesentlichen Texters…“)
(neueste | älteste) Zeige ( | ) (20 | 50 | 100 | 250 | 500)