{"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\/hr\/blog\/news\/dostupna-standartnaya-si-biblioteka-picolibc-1-1","title":{"rendered":"Dostupna standardna C biblioteka PicoLibc 1.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Keith Packard, aktivni razvija\u010d Debiana, vo\u0111a projekta X.Org i stvaratelj mnogih X-ekstenzija, uklju\u010duju\u0107i XRender, XComposite i XRandR, <noindex><a rel=\"nofollow\" href=\"https:\/\/keithp.com\/blogs\/picolibc-1.1\/\">predstavio<\/a><\/noindex> izdanje nove standardne C biblioteke <noindex><a rel=\"nofollow\" href=\"https:\/\/keithp.com\/picolibc\/\">PicoLibc 1.1<\/a><\/noindex>, koja se razvija za primjenu na ugra\u0111enim ure\u0111ajima s ograni\u010denim kapacitetom trajne memorije i radne memorije. Tijekom razvoja dio koda preuzet je iz biblioteke <noindex><a rel=\"nofollow\" href=\"http:\/\/sourceware.org\/newlib\/\">newlib<\/a><\/noindex> iz projekta Cygwin i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nongnu.org\/avr-libc\/\">AVR Libc<\/a><\/noindex>, koja se razvijala za Atmel AVR mikrocontroller. Kod PicoLibc <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keith-packard\/picolibc\">distribuira se<\/a><\/noindex> je pod BSD licencom. Podr\u017eava se izrada biblioteke za arhitekture ARM (32-bit), i386, RISC-V, x86_64 i PowerPC.<\/p>\n<p>Kit Packard zapo\u010deo je razvoj nakon \u0161to nije mogao prona\u0107i adekvatnu verziju Libc koja bi se mogla koristiti na ugra\u0111enim ure\u0111ajima s malim RAM-om. Projekt se razvija od pro\u0161le godine. U prvoj fazi projekt je predstavljao verziju newlib-a, \u010dije su ststdio funkcije zamijenjene kompaktnoj verziji iz avrlibc-a (stdio u newlib-u nije bio zadovoljavaju\u0107i zbog velikih zahtjeva na resurse). Kako je trenutna aktivnost Kita povezana s stalnim radom na arhitekturi RISC-V i razvojem alata za ugra\u0111ene ure\u0111aje, nedavno je preispitao stanje implementacija libc i do\u0161ao do zaklju\u010dka da uz male dorade kombinacija newlib-a i avrlibc-a mo\u017ee postati dobro univerzalno rje\u0161enje. Izvorno, projekt se razvijao pod imenom \"newlib-nano\", ali da bi se izbjegla konfuzija s bibliotekom Newlib, preimenovan je u PicoLibc.<\/p>\n<p>U trenutnom obliku u Picolibc ve\u0107 je obavljen rad na uklanjanju sav koda koji nije licenciran pod BSD (ovaj kod nije kori\u0161ten prilikom izrade za ugra\u0111ene ure\u0111aje), \u0161to je zna\u010dajno pojednostavilo situaciju s licencom za projekt. Implementacija lokalnih tokova prenesena je sa 'struct _reent' na mehanizam TLS (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Thread-local_storage\">thread-local storage<\/a><\/noindex>). Aktivirana je po defaultu kompaktnija verzija stdio, preuzeta iz koda biblioteke avrlibc (assembler umetci specifi\u010dni za Atmel prepisani su u C). Za izradu je kori\u0161ten alat Meson, \u0161to je omogu\u0107ilo da se ne ve\u017ee uz scenarije izrade newlib-a i olak\u0161a prijenos promjena iz newlib-a. Dodana je pojednostavljena verzija koda inicijalizacije (crt0), koja se povezuje s izvr\u0161nom datotekom i izvr\u0161ava prije nego \u0161to predaje kontrolu funkciji main().<\/p>\n<p>U verziji Picolibc 1.1:<\/p>\n<ul>\n<li class=\"l\"> Dodana je pomo\u0107na biblioteka za podr\u0161ku tehnologiji \"<noindex><a rel=\"nofollow\" href=\"http:\/\/www.keil.com\/support\/man\/docs\/armcc\/armcc_pge1358787046598.htm\">semihosting<\/a><\/noindex>\", koja omogu\u0107uje kodu, izvo\u0111enom u okru\u017eenju debugggera ili emulatora, kori\u0161tenje mehanizama ulaza\/izlaza doma\u0107inskog sustava;\n<li class=\"l\"> Za sisteme koji podr\u017eavaju sistemske pozive open, close, read i write, tinystdio je dodao standardizovane POSIX interfejse za ulaz\/izlaz stdio, uklju\u010duju\u0107i funkcije fopen i fdopen, kao i vezivanje stdin\/stdout\/stderr na odre\u0111ene POSIX deskriptore datoteka;\n<li class=\"l\"> Nedavne promene su prenesene iz kodne baze newlib. Uklju\u010duju\u0107i dodavanje stubova libm za <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man3\/fenv.3.html\">fenv.h<\/a><\/noindex>, koji se mogu koristiti na sistemima bez podr\u0161ke za ra\u010dunanja s pomi\u010dnom zarezom;\n<li class=\"l\"> Dodana je primjer izrade aplikacije \"Hello world\" s picolibc za ARM i RISC-V sustave;\n<li class=\"l\"> Uklonjeni su direktorijumi newlib, libm i mathfp, koji su sadr\u017eavali neiskori\u0161\u0107eni eksperimentalni kod.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Izvor: <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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - 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\/hr\/blog\/news\/dostupna-standartnaya-si-biblioteka-picolibc-1-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/blog\/news\/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\udd47Dostupna standardna C biblioteka PicoLibc 1.1 | ProHoster","description":"Keith Packard, aktivni razvija\u010d Debiana, vo\u0111a projekta X.Org i stvaratelj mnogih X-ekstenzija, uklju\u010duju\u0107i XRender, XComposite i XRandR,","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/dostupna-standartnaya-si-biblioteka-picolibc-1-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/blog\/news\/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\/hr\/wp-json\/wp\/v2\/posts\/52800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=52800"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/52800\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=52800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=52800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=52800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}