[Hobby/Unerfahren] Suche Interessent für Bibliothek-Development

  • Auf welchem Niveau darf das ganze denn sein? Reicht schon folgendes?

    PS:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Auf welchem Niveau darf das ganze denn sein? Reicht schon folgendes?

    PS:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Anfänger Niveau reicht! :saint: Das meiste kann man dann von mir erlernen falls die Erfahrung/das Wissen zu Tasks fehlen:P

    Zum Code:

    Erfüllt zwar sein Zweck, aber nicht zu vergessen dass beim Kernel Development die Compiler Code Optimierung ausschließlich fast deaktiviert ist oder auf Opt. Stufe #1.

    Das bedeutet dass der Code den du hier oben geschrieben hast fast 1:1 übernommen wird, der ist aber recht langsam.

    Auf richtigem Niveau würde man via words/longwords den string abgleichen/zählen. Da das aber kompliziert ist und ich ungern C&P verwende (Siehe GNU GCC strlen),

    würde folgendes ausreichen:

    Das ist ein originaler Ausschnitt meiner strlen(...) Funktion im Kernel (So haben die meisten die Funktion implementiert). Kurz erklärt; Wir übergeben die Variable str

    an Variable s, welche mit dem Keyword "register" deklariert ist - So, falls möglich, ist der String nicht mehr im RAM sondern in einem CPU-Register. Die CPU-Register sind viel schneller als der Direktzugriffsspeicher (RAM), somit können Datenverarbeitungsoperationen schneller verarbeitet werden. Die terminating zero ('\0'/0) gibt immer 0/false zurück, deswegen reicht es im for-loop an zweiter Stelle einfach *s anzugeben da all die anderen Zeichen true zurückgeben, bzw. eine Zahl größer als 0. Falls größer als 0, inkrementieren wir um eine Position @variable s, prüfen den Wert der Position und nachdem auf 0 getroffen wurde return'en wir die Differenz der beiden subtrahierten Variablen. Schon haben wir die string-länge der Variable str :P

  • sikerim hab interesse kik

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!