Kompilierfehler, Ideen?



  • @john-0 sagte in Kompilierfehler, Ideen?:

    @Quiche-Lorraine sagte in Kompilierfehler, Ideen?:

    Wir reden hier aber von Embedded C und nicht von Standard C. Und Embedded C verhält sich gerne mal anders als der Standard.

    Wir reden von C bei dem die gets Funktion seit ANSI C 1989 als veraltet markiert wurde, und seit C2011 aus der Sprache komplett entfernt wurde.

    Erschreckend ist, dass Du hier so einen Sermon schreibst, und das nicht weißt.

    Das ist ja schon richtig, aber hier nicht das primäre Problem. Daher kann man das mal nebenher erwähnen, muss es aber nicht unbedingt so in den Vordergrund rücken. Konträr zu deiner vorherigen Empfehlung bin ich nämlich der Meinung, dass das Programm erstmal überhaupt kompilierbar sein sollte, bevor man solche deprecated-Funktionen ersetzt. Schließlich will man ja auch testen, ob die Alternative überhaupt ordentlich funktioniert - sonst müsste man das ja blind machen.

    Und ja, ich denke es kann im Embedded-Kontext durchaus Situationen geben, in denen gets unproblematisch ist - je nach dem was stdin auf diesem System überhaupt ist. Z.B. wenn der Mechanismus dahinter eine feste Länge garantiert. Das muss nicht immer beliebiger User-Input sein, das kann auch von einem abgeschlossenen System stammen, das wohldefinierte Daten weiterleitet. Z.B. zwei Prozesse, bei denen das stdout des einen in das stdin des anderen geht. Wenn da immer nur exakt 1KiB-Strings kommen können, wäre ein gets durchaus vertretbar. Das mit dem UART klingt jedenfalls nach irgendeiner Hardware, die da über eine serielle Schnittstelle angesprochen wird. Vielleicht sendet die ja per Spezifikation nur Daten mit einer bekannten Maximallänge?


  • Mod

    @john-0 sagte in Kompilierfehler, Ideen?:

    @Quiche-Lorraine sagte in Kompilierfehler, Ideen?:

    Wir reden hier aber von Embedded C und nicht von Standard C. Und Embedded C verhält sich gerne mal anders als der Standard.

    Wir reden von C bei dem die gets Funktion seit ANSI C 1989 als veraltet markiert wurde, und seit C2011 aus der Sprache komplett entfernt wurde.

    Erschreckend ist, dass Du hier so einen Sermon schreibst, und das nicht weißt.

    @john-0 :Wir wissen das alle! Wir sind bloß klug genug zu verstehen, dass es völlig egal ist, wenn der Scheibenwischerwasserstand niedrig ist, während das Licht für Motorschaden leuchtet. Und wenn da dauernd der Praktikant um das Auto tanzt und schreit "Meister! Meister! Der Scheibenwischerwasserstand ist niedrig! Da dran liegt es! Das müssen wir sofort beheben! Das ist wichtig! Die anderen Gesellen haben offensichtlich alle keine Ahnung, wenn sie dies nicht sehen!", dann nervt das einfach nur. Vor allem, wenn der Praktikant auch noch keinen Wink mit egal wie dickem Zaunpfahl verstehen möchte.


Anmelden zum Antworten