Ich arbeite für ein Unternehmen, das begonnen hat, eingebettete Computersysteme in unsere von uns hergestellten Produkte zu integrieren. Wir haben eine ziemlich große Auswahl an Produkten, die auf der ganzen Welt vertrieben werden. Darüber hinaus haben wir einige integrierte Karten entwickelt, die je nach Firmware, die auf das System geflasht …
Angenommen, ich möchte mehrere Arten von Ausgabenachrichten in meinem Code haben. Eine davon ist die DEBUG, die nur gedruckt wird, wenn der Code im Debug-Modus kompiliert wird. Normalerweise müsste ich sowas schreiben #ifdef DEBUG std::cout << "Debug message" << std::endl; #endif Das ist ziemlich umständlich und an vielen Stellen ärgerlich …
Ich habe einen starken Java / Groovy-Hintergrund und wurde einem Team zugewiesen, das eine ziemlich große C-Codebasis für eine Verwaltungssoftware unterhält. Einige Probleme, wie das Behandeln von Blobs in der Datenbank oder das Generieren von Berichten in PDF und Excel, wurden in den Java-Webdienst ausgelagert. Als Java-Entwickler bin ich jedoch …
Ich benutze C und structs, wobei eine Struktur Mitglieder haben kann, aber keine Funktionen. Nehmen wir der Einfachheit halber an, dass ich eine Struktur für Zeichenfolgen erstellen möchte, die ich benenne, strund dass ich tun möchte, str.replace(int i, char c)wo isich der Index der Zeichenfolge befindet und welches cZeichen das …
Bei der Programmierung in CI war es von unschätzbarem Wert, Strukturen mithilfe des GCCs- __attribute__((__packed__))Attributs zu packen , damit ich leicht einen strukturierten Teil des flüchtigen Speichers in ein Array von Bytes konvertieren kann, die über einen Bus übertragen, gespeichert oder auf einen Registerblock angewendet werden. Gepackte Strukturen garantieren, dass …
Der C11-Standard besagt, dass die Arrays in Größe und variabler Länge "einen Wert größer als Null haben sollen". Was ist die Rechtfertigung dafür, eine Länge von 0 nicht zuzulassen? Insbesondere für Arrays mit variabler Länge ist es durchaus sinnvoll, ab und zu eine Größe von Null zu haben. Es ist …
Beim Lesen dieser beiden Fragen sehe ich, dass es wichtig sein kann, das Verhalten des CPU-Cachings zu verstehen, wenn große Datenmengen im Speicher verarbeitet werden. Ich möchte verstehen, wie das Zwischenspeichern funktioniert, um meiner Optimierungs-Toolbox ein weiteres Tool hinzuzufügen. Was sind die Kernpunkte der Funktionsweise des CPU-Caches, damit ich Code …
In letzter Zeit hatte ich Mühe zu verstehen, wie viele Überprüfungen richtig sind und welche Methoden richtig sind. Ich habe ein paar Fragen dazu: Was ist der richtige Weg, um nach Fehlern zu suchen (fehlerhafte Eingaben, fehlerhafte Zustände usw.)? Ist es besser, explizit nach Fehlern zu suchen oder Funktionen wie …
GCC ist der C-Compiler. Glibc ist die C-Bibliothek. Ist es jedoch nicht unbedingt erforderlich, dass ein Compiler und die Standardbibliothek als C-Implementierung gebündelt sind? So enthält beispielsweise die C - Bibliothek ABI und Compiler - spezifische Sachen wie <limits.h>, <stdint.h>usw., welches sich zwischen Compilern und APIs. Und Details wie "Wie …
Mein Mikroprozessor Klassenlehrer gab uns einen Auftrag und sagte: "Schreiben Sie einen Assembler in C." - Mein geliebter Professor Es kam mir ein bisschen unlogisch vor. Wenn ich mich nicht irre, ist die Assemblersprache der erste Schritt vom Maschinencode zum Erlernen übergeordneter Sprachen. Ich meine, C ist eine höhere Sprache …
Im Moment arbeite ich mit eingebetteten Systemen und finde heraus, wie Strings auf einem Mikroprozessor ohne Betriebssystem implementiert werden können. Bisher verwende ich nur die Idee, Zeichenzeiger mit NULL-Terminierung zu verwenden und sie als Zeichenfolgen zu behandeln, wobei NULL das Ende bedeutet. Ich weiß, dass dies ziemlich häufig ist, aber …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 4 Jahren . Es gibt viele Sicherheitsrisiken, die durch den engen …
Gelegentlich sehe ich große, relativ neue Open Source C-Projekte, die auf sehr alte C-Standards abzielen, typischerweise C89. Ein Beispiel ist systemd. Diese Projekte haben intelligente Leute am Ruder, daher haben sie wahrscheinlich eine gute Begründung für diese Entscheidung, von der ich nichts weiß. Abgesehen von diesem Vorteil des Zweifels scheint …
Normalerweise habe ich kein Problem damit, zu entscheiden, ob einige Daten global, statisch oder auf dem Stack sein müssen (hier keine dynamische Zuordnung, daher keine Verwendung des Heapspeichers). Ich habe auch ein paar Fragen / Antworten wie diese gelesen, aber meine Frage ist spezifischer, da sie im Vergleich zum Systemspeicher …
Als VLAs in C 1999 eingeführt wurden, fand ich, dass dies eine große Neuerung für die Sprache war. Nachdem ich jedoch erfahren habe, dass es in C 2011 optional ist, frage ich mich, was zu seiner Statusänderung geführt hat und ob es bedeutet, dass die Funktion tatsächlich veraltet ist. Wenn …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.