{"id":52800,"date":"2019-11-17T00:00:00","date_gmt":"2019-11-16T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/dostupna-standartnaya-si-biblioteka-picolibc-1-1"},"modified":"2020-02-18T14:00:36","modified_gmt":"2020-02-18T11:00:36","slug":"dostupna-standartnaya-si-biblioteka-picolibc-1-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/dostupna-standartnaya-si-biblioteka-picolibc-1-1","title":{"rendered":"Die Standard-C-Bibliothek PicoLibc 1.1 ist verf\u00fcgbar.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Keith Packard, aktiver Entwickler von Debian, Projektleiter von X.Org und Sch\u00f6pfer vieler X-Erweiterungen, darunter XRender, XComposite und XRandR, <noindex><a rel=\"nofollow\" href=\"https:\/\/keithp.com\/blogs\/picolibc-1.1\/\">den<\/a><\/noindex> Ver\u00f6ffentlichung der neuen Standard-C-Bibliothek <noindex><a rel=\"nofollow\" href=\"https:\/\/keithp.com\/picolibc\/\">PicoLibc 1.1<\/a><\/noindex>, die f\u00fcr den Einsatz auf eingebetteten Ger\u00e4ten mit begrenztem Speicherplatz und Arbeitsspeicher entwickelt wird. Bei der Entwicklung wurde ein Teil des Codes aus der Bibliothek <noindex><a rel=\"nofollow\" href=\"http:\/\/sourceware.org\/newlib\/\">newlib<\/a><\/noindex> vom Cygwin-Projekt und <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nongnu.org\/avr-libc\/\">AVR Libc<\/a><\/noindex>, die f\u00fcr Atmel AVR-Mikrocontroller entwickelt wurde, \u00fcbernommen. Der PicoLibc-Code <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keith-packard\/picolibc\">wird unter der GPLv3-Lizenz bereitgestellt.<\/a><\/noindex> steht unter der BSD-Lizenz. Es wird eine Bibliotheksversion f\u00fcr die Architekturen ARM (32-Bit), i386, RISC-V, x86_64 und PowerPC unterst\u00fctzt.<\/p>\n<p>Kit Packard begann mit der Entwicklung, nachdem er keine geeignete Libc-Variante finden konnte, die auf eingebetteten Ger\u00e4ten mit begrenztem RAM verwendet werden konnte. Das Projekt wird seit letztem Jahr weiterentwickelt. In der ersten Phase handelte es sich um eine Variante von newlib, bei der die stdio-Funktionen durch eine kompakte Version aus avrlibc ersetzt wurden (stdio in newlib war aufgrund des hohen Ressourcenverbrauchs nicht zufriedenstellend). Da Kits aktuelle Arbeit eng mit der Architektur RISC-V und der Entwicklung von Werkzeugen f\u00fcr eingebettete Ger\u00e4te verbunden ist, hat er k\u00fcrzlich den Stand der Libc-Implementierungen \u00fcberdacht und festgestellt, dass die Kombination aus newlib und avrlibc mit kleinen Anpassungen eine gute universelle L\u00f6sung sein k\u00f6nnte. Urspr\u00fcnglich wurde das Projekt unter dem Namen \u201enewlib-nano\u201c entwickelt, wurde jedoch umbenannt in PicoLibc, um Verwirrung mit der Bibliothek Newlib zu vermeiden.<\/p>\n<p>In der aktuellen Version von Picolibc wurde bereits Arbeit geleistet, um gesamten Code, der nicht unter der BSD-Lizenz verf\u00fcgbar ist, zu entfernen (dieser Code wurde bei der Erstellung f\u00fcr eingebettete Ger\u00e4te nicht verwendet), was die Lizenzierung des Projekts erheblich vereinfacht hat. Die Implementierung der lokalen Threads wurde von \u201astruct _reent\u2018 auf den TLS-Mechanismus umgestellt (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Thread-local_storage\">Thread-local storage<\/a><\/noindex>). Die kompakte Variante von stdio, die aus dem Code der avrlibc-Bibliothek entlehnt wurde, ist standardm\u00e4\u00dfig aktiviert (ATmel-spezifische Assembler-Einf\u00fcgungen wurden in C umgeschrieben). Zum Erstellen wird das Meson-Toolchain verwendet, was eine Abh\u00e4ngigkeit von den Build-Skripten von newlib vermeidet und den Transfer von \u00c4nderungen aus newlib vereinfacht. Eine vereinfachte Variante des Initialisierungscodes (crt0) wurde hinzugef\u00fcgt, die an die ausf\u00fchrbare Datei angeh\u00e4ngt wird und vor der \u00dcbergabe an die Funktion main() ausgef\u00fchrt wird.<\/p>\n<p>In der Version Picolibc 1.1:<\/p>\n<ul>\n<li class=\"l\"> Eine Hilfsbibliothek zur Unterst\u00fctzung der Technologie \u201e<noindex><a rel=\"nofollow\" href=\"http:\/\/www.keil.com\/support\/man\/docs\/armcc\/armcc_pge1358787046598.htm\">semihosting<\/a><\/noindex>\u201e, die es dem in einer Debugger- oder Emulatorumgebung laufenden Code erm\u00f6glicht, Ein-\/Ausgabe-Mechanismen des Hosts zu nutzen;\n<li class=\"l\"> F\u00fcr Systeme, die die Systemaufrufe open, close, read und write unterst\u00fctzen, wurden standardisierte POSIX-Eingabe-\/Ausinterfaces in tinystdio hinzugef\u00fcgt, einschlie\u00dflich der Funktionen fopen und fdopen sowie der Bindung von stdin\/stdout\/stderr an bestimmte in POSIX definierte Dateideskriptoren.\n<li class=\"l\"> Die neuesten \u00c4nderungen aus der Codebasis von newlib wurden \u00fcbernommen. Dazu geh\u00f6ren Stubbs f\u00fcr libm f\u00fcr <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man3\/fenv.3.html\">fenv.h<\/a><\/noindex>, die auf Systemen ohne Unterst\u00fctzung f\u00fcr Flie\u00dfkomma-Berechnungen verwendet werden k\u00f6nnen.\n<li class=\"l\"> Es wurde ein Beispiel f\u00fcr die Erstellung einer Anwendung \u201eHello world\u201c mit picolibc f\u00fcr ARM- und RISC-V-Systeme hinzugef\u00fcgt;\n<li class=\"l\"> Die Verzeichnisse newlib, libm und mathfp, die nicht verwendeten experimentellen Code enthielten, wurden entfernt.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Quelle: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51873\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0438\u0442 \u041f\u0430\u043a\u043a\u0430\u0440\u0434 (Keith Packard), \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Debian, \u043b\u0438\u0434\u0435\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 X.Org \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 X-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f XRender, XComposite \u0438 XRandR, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0432\u044b\u043f\u0443\u0441\u043a \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 PicoLibc 1.1, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u0437\u0430\u0438\u043c\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0430 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 newlib \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0421ygwin \u0438 AVR Libc, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0432\u0448\u0435\u0439\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-52800","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0438\u0442 \u041f\u0430\u043a\u043a\u0430\u0440\u0434 (Keith Packard), \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Debian, \u043b\u0438\u0434\u0435\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 X.Org \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 X-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f XRender, XComposite \u0438 XRandR,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/dostupna-standartnaya-si-biblioteka-picolibc-1-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 PicoLibc 1.1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0438\u0442 \u041f\u0430\u043a\u043a\u0430\u0440\u0434 (Keith Packard), \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Debian, \u043b\u0438\u0434\u0435\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 X.Org \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 X-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f XRender, XComposite \u0438 XRandR,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/dostupna-standartnaya-si-biblioteka-picolibc-1-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-16T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:00:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Die Standard-C-Bibliothek PicoLibc 1.1 ist verf\u00fcgbar | ProHoster","description":"Keith Packard, aktiver Entwickler von Debian, Projektleiter von X.Org und Sch\u00f6pfer vieler X-Erweiterungen, darunter XRender, XComposite und XRandR,","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/dostupna-standartnaya-si-biblioteka-picolibc-1-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 PicoLibc 1.1 | ProHoster","og:description":"\u041a\u0438\u0442 \u041f\u0430\u043a\u043a\u0430\u0440\u0434 (Keith Packard), \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Debian, \u043b\u0438\u0434\u0435\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 X.Org \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 X-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f XRender, XComposite \u0438 XRandR,","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/dostupna-standartnaya-si-biblioteka-picolibc-1-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-16T21:00:00+00:00","article:modified_time":"2020-02-18T11:00:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52800","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 04:56:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:36:37","updated":"2026-01-24 04:56:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/52800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=52800"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/52800\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=52800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=52800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=52800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}