this post was submitted on 28 Jun 2025
86 points (96.7% liked)

ich_iel

3864 readers
389 users here now

Die offizielle Zweigstelle von ich_iel im Fediversum.

Alle Pfosten mĂŒssen den Titel 'ich_iel' haben, der Unterstrich darf durch ein beliebiges Symbol oder Bildschriftzeichen ersetzt werden. Ihr dĂŒrft euch frei entfalten!


Matrix


đŸ“± Empfohlene Schlaufon-Applikationen fĂŒr Lassmich


Befreundete Kommunen:

!wir_iel@feddit.org

!i_itrl@feddit.org

!ich_ial@lemmy.world

!zunftgemeinde@feddit.org

!ki_iel@feddit.org


Sonstiges:

Zangendeutsch-Wörterbuch


Regeln:

1. Seid nett zueinander

Diskriminierung anderer Benutzer, Beleidigungen und Provokationen sind verboten.

2. Pfosten mĂŒssen den Titel 'ich_iel' oder 'ich iel' haben

Nur Pfosten mit dem Titel 'ich_iel' oder 'ich iel' sind zugelassen. Alle anderen werden automatisch entfernt.

Unterstrich oder Abstand dĂŒrfen durch ein beliebiges Textsymbol oder bis zu drei beliebige Emojis ersetzt werden.

3. Keine HochwÀhl-Maimais oder (Eigen)werbung

Alle Pfosten, die um HochwĂ€hlis bitten oder Werbung beinhalten werden entfernt. Hiermit ist auch Eigenwerbung gemeint, z.b. fĂŒr andere Gemeinschaften.

4. Keine BildschirmschĂŒsse von Unterhaltungen

Alle Pfosten, die BildschirmschĂŒsse von Unterhaltungen, wie beispielsweise aus WasistApplikaton oder Zwietracht zeigen, sind nicht erlaubt. Hierzu zĂ€hlen auch Unterhaltungen mit KIs.

5. Keine kantigen BeitrÀge oder Meta-BeitrÀge

ich_iel ist kein kantiges Maimai-Brett. Meta-BeitrĂ€ge, insbesondere ĂŒber gelöschte oder gesperrte BeitrĂ€ge, sind nicht erlaubt.

6. Keine ÜberfĂ€lle

Wer einen Überfall auf eine andere Gemeinschaft plant, muss diesen zuerst mit den Mods abklĂ€ren. Brigadieren ist strengstens verboten.

7. Keine Ü40-Maimais

Maimais, die es bereits in die WasistApplikation-Familienplauderei geschafft haben oder von RĂŒdiger beim letzten Stammtisch herumgezeigt wurden, sind besser auf /c/ichbin40undlustig aufgehoben.

8. ich_iel ist eine humoristische Plattform

Alle Pfosten auf ich_iel mĂŒssen humorvoll gestaltet sein. Humor ist subjektiv, aber ein Pfosten muss zumindest einen humoristischen Anspruch haben. Die AtmosphĂ€re auf ich_iel soll humorvoll und locker gehalten werden.

9. Keine Polemik, keine KöderbeitrÀge, keine Falschmeldungen

BeitrĂ€ge, die wegen Polemik negativ auffallen, sind nicht gestattet. Desweiteren sind Pfosten nicht gestattet, die primĂ€r Empörung, Aufregung, Wut o.Ä. ĂŒber ein (insbesonders, aber nicht nur) politisches Thema hervorrufen sollen. Die Verbreitung von Falschmeldungen ist bei uns nicht erlaubt.


Bitte beachtet auch die Regeln von Feddit.org

founded 1 year ago
MODERATORS
 

Literarisch ich, nachdem ich nach viel zu viel Zeitinvestment endlich etwas automatisiert habe, was nicht unbedingt nötig gewesen wÀre zu automatisieren (der lexikalische Analysator aus meinem letzten Pfosten funktioniert nun und ist mit ca 40 Zeilen auch relativ schlank. Er ist nicht perfekt, aber er funktioniert).

top 26 comments
sorted by: hot top controversial new old
[–] ZonenRanslite@feddit.org 24 points 1 month ago (1 children)
[–] cows_are_underrated@feddit.org 6 points 1 month ago (1 children)

Ruhe auf den Billigen PlÀtzen (Kode ist aber tatsÀchlich scheinbar ein deutsches Wort).

[–] MaggiWuerze@feddit.org 1 points 1 month ago
Anmerkung zur Anwendung:

    Die Schreibweise Kode ist seit 1. Juli 2024 nicht mehr im Wörterverzeichnis des Rates fĂŒr deutsche Rechtschreibung aufgefĂŒhrt, sondern einzig die Schreibweise Code.
[–] Klingenrenner@feddit.org 17 points 1 month ago

Erster Hauptsatz der Informatik: Erledige niemals eine Arbeit in 5 Minuten manuell, wenn du auch zwei Stunden zum Entwickeln einer Automatisierung aufwenden kannst.

[–] doeknius_gloek@discuss.tchncs.de 10 points 1 month ago (2 children)

Was tut ein lexikalischer Analysator?

[–] brotundspiele@feddit.org 12 points 1 month ago (2 children)

Er analysiert lexikalisch.

[–] Saleh@feddit.org 2 points 1 month ago

Ich habe den Java Entwickler gefunden.

[–] cows_are_underrated@feddit.org 5 points 1 month ago (1 children)

Deutsch fĂŒr Parser.

Beispiel: ich habe im Code die Variable "Distanz" deren Wert in einer Datei steht (bspw. Distanz 50). Der Parser findet den entsprechenden Wert der Variable in der Datei und stellt ihn dir im code zur VerfĂŒgung.

[–] doeknius_gloek@discuss.tchncs.de 2 points 1 month ago* (last edited 1 month ago) (1 children)

Wie hast du's letztendlich gemacht? Ich habe inzwischen deinen vorherigen Post gelesen und gesehen, dass deine Konfigurationsdatei im Grunde eine vereinfachte .ini ist - pro Zeile ein Key-Value Paar, getrennt durch ein "=”.

Mein naivster Ansatz wÀre, die Datei einzulesen, an allen EOLs zu splitten, um alle Key-Value Paare zu bekommen und dann wiederrum am = zu splitten?

[–] cows_are_underrated@feddit.org 3 points 1 month ago* (last edited 1 month ago) (2 children)

Hier ist der Code dafuer: https://pastebin.com/EuE55X5t

Ist bei weitem nicht perfekt, aber das reicht. Werde den auch noch etwas weiter ausbauen um ein Errorhandeling zu ermoeglichen.

Habe dafĂŒr die Syntax der Init Datei etwas geĂ€ndert und zwar dass aus Variable = Wert; jetzt simpel Variable Wert wird.

[–] doeknius_gloek@discuss.tchncs.de 2 points 1 month ago (1 children)

Cool, danke fĂŒr den Code! Hast du Interesse an Feedback von einem Webentwickler, der in seinem Leben noch nicht eine Zeile C geschrieben hat?

[–] cows_are_underrated@feddit.org 2 points 1 month ago (1 children)

Feedback dĂŒrft ihr immer gerne geben.

[–] doeknius_gloek@discuss.tchncs.de 1 points 1 month ago (1 children)

Okay, also die folgenden Punkte sind mir aufgefallen:

  1. Du könntest deine Konfigurationsvariablen in einem Struct gruppieren, dann kannst du spÀter sowas wie config.exposureTime machen.
  2. Eine while-Schleife bietet sich immer dann an, wenn du die Anzahl an SchleifendurchlĂ€ufen nicht kennst - in deinem Code kennst du deine MAX_ROWS aber schon, daher wĂŒrde ich eher eine for-Schleife nutzen (wobei ich gerade nicht weiß, wie sich das mit fscanf vertrĂ€gt...)
  3. Die Reihenfolge deiner Variablen muss in der Konfigurationsdatei exakt so sein, wie dein Code es erwartet. Der Key deiner Key-Value Paare wird nicht abgeglichen.
  4. Wenn du den ersten Punkt umsetzt, wĂŒrde ich empfehlen, dass initalizeVariables ein Config Struct returned, anstatt globale Variablen zu fĂŒllen. Macht's wartbarer.
  5. Jemand anderes hat bereits den möglichen Buffer Overflow bei fscanf angesprochen.
  6. Generell mĂŒsste man noch einiges an Errorhandling hinzufĂŒgen, um das Programm robuster zu machen
  7. Vielleicht willst du irgendwann mal andere Konfigurationswerte eintragen, bisher gehen nur (Gleitkomma)zahlen

Ich habe mich mal hingesetzt und das zum Anlass genommen, meinen ersten (und wahrscheinlich auch einzigen) C-Code zu schreiben. Disclaimer: Das Ergebnis macht mich nicht besonders glĂŒcklich, aber ich hasse mein Leben nicht genug, um weitere Verbesserungsideen auszuprobieren. C scheint mir doch recht alt/limitiert und was bei anderen Sprachen Standardfeatures sind, sucht man bei C vergebens. Eine Map wĂ€re z.B. sehr praktisch gewesen, oder ein switch Statement, welches mit Strings umgehen kann oder ĂŒberhaupt ein String Datentyp statt Char-Arrays mit festen LĂ€ngen... Uff ey.

Egal, hier mein (nicht besonders guter und brĂŒchiger) Code: https://pastebin.com/hWCFSvQd

[–] cows_are_underrated@feddit.org 1 points 1 month ago (1 children)

Vielen Dank fĂŒr den Code. Der ist um einiges besser als das was ich hinbekommen habe. Ich habe auch einen ganzen haufen gelernt. Ich werde den evtl noch etwas fĂŒr mich anpassen und dann so verwenden. :)

[–] doeknius_gloek@discuss.tchncs.de 2 points 1 month ago (1 children)
[–] cows_are_underrated@feddit.org 2 points 1 month ago (1 children)

Bekommst sogar eine Widmung im Code :)

[–] doeknius_gloek@discuss.tchncs.de 1 points 1 month ago (1 children)

Haha, danke :D Mir ist gerade noch ein Fehler in meinem Pastebin aufgefallen: In Zeile 111 mĂŒsste config->flashPin = ... stehen.

Das habe ich auch schon gemerkt und korrigiert.

[–] d_k_bo@feddit.org 1 points 1 month ago* (last edited 1 month ago)

(IBKCP: Ich bin kein C-Programmierer)

Versuchter Klugschiss

typedef struct {
    char* name[VARIABLE_NAME_LENGTH];
    float value;
} variable;
fscanf(file, "%s %f", &data[i].name, &data[i].value)

Das sieht mir gefĂ€hrlich nach einem möglichen PufferĂŒberlauf aus. Wenn die Variable lĂ€nger ist als VARIABLE_NAME_LENGTH - 1 (1 Zeichen wird fĂŒr \0 benötigt), dann ist der Platz fĂŒr die Zeichenkette zu klein.

https://stackoverflow.com/questions/18845234/preventing-buffer-overflow-when-using-fscanf#18854941


Edith: Was passiert eigentlich, wenn die Datei nicht dem von fscanf erwarteten Format entspricht? Ich glaube, da mĂŒssen noch irgendwo Fehler gehandhabt werden, sonst kommt es im spĂ€teren Verlauf wahrscheinlich zu Segmentierungsfehlern.

[–] jenesaisquoi@feddit.org 3 points 1 month ago
[–] Kornblumenratte@feddit.org 2 points 1 month ago

Herzlichen GlĂŒckwunsch!

[–] Goldholz@lemmy.blahaj.zone 2 points 1 month ago (1 children)

Ich hatte das schon zu oft!

Ewig, stundenlang rumbauen, dass der ursprĂŒngliche Kode nicht mehr ersichtlich ist, aber gefĂŒhlt so nahe an der Lösung des Problems. Und dann ENDLICH FUNKTIONIERT ES! UND DANN AM NÄCHSTEN TAG FUNKTIONIERT ES NICHT MEHR!!

[–] cows_are_underrated@feddit.org 1 points 1 month ago (1 children)

Hatte ich jetzt auch. Habe das ganze am PC zum laufen bekommen und am Laptop hats am nÀchsten Tag nicht funktioniert.

[–] Goldholz@lemmy.blahaj.zone 1 points 1 month ago

Ich hĂ€tte mir eine Kugel Eis kaufen können, wĂŒrde ich fĂŒr jedes mal 1ct bekommen

[–] jenesaisquoi@feddit.org 2 points 1 month ago