{"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\/es\/blog\/news\/dostupna-standartnaya-si-biblioteka-picolibc-1-1","title":{"rendered":"Est\u00e1 disponible la biblioteca est\u00e1ndar en C PicoLibc 1.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Keith Packard, desarrollador activo de Debian, l\u00edder del proyecto X.Org y creador de numerosas extensiones X, incluyendo XRender, XComposite y XRandR, <noindex><a rel=\"nofollow\" href=\"https:\/\/keithp.com\/blogs\/picolibc-1.1\/\">present\u00f3<\/a><\/noindex> lanzamiento de una nueva biblioteca est\u00e1ndar de C <noindex><a rel=\"nofollow\" href=\"https:\/\/keithp.com\/picolibc\/\">PicoLibc 1.1<\/a><\/noindex>, desarrollada para ser utilizada en dispositivos embebidos con tama\u00f1o de almacenamiento permanente y memoria RAM limitados. Al desarrollar, parte del c\u00f3digo se tom\u00f3 de la biblioteca <noindex><a rel=\"nofollow\" href=\"http:\/\/sourceware.org\/newlib\/\">newlib<\/a><\/noindex> del proyecto Cygwin y <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nongnu.org\/avr-libc\/\">AVR Libc<\/a><\/noindex>, desarrollada para microcontroladores de Atmel AVR. El c\u00f3digo de PicoLibc <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keith-packard\/picolibc\">se distribuye<\/a><\/noindex> se publica bajo la licencia BSD. Se soporta la construcci\u00f3n de la biblioteca para arquitecturas ARM (32-bit), i386, RISC-V, x86_64 y PowerPC.<\/p>\n<p>Kit Packard comenz\u00f3 el desarrollo despu\u00e9s de no poder encontrar una opci\u00f3n adecuada de Libc que pudiera usarse en dispositivos embebidos con poca RAM. El proyecto ha estado en desarrollo desde el a\u00f1o pasado. En la primera etapa, el proyecto representaba una versi\u00f3n de newlib, cuyas funciones de stdio fueron reemplazadas por una versi\u00f3n compacta de avrlibc (el stdio en newlib no era adecuado por su alto consumo de recursos). Dado que la actividad actual de Kit est\u00e1 relacionada con el trabajo constante en arquitecturas RISC-V y el desarrollo de herramientas para dispositivos embebidos, recientemente revis\u00f3 el estado de las implementaciones de libc y lleg\u00f3 a la conclusi\u00f3n de que, con algunos ajustes, la combinaci\u00f3n de newlib y avrlibc podr\u00eda convertirse en una buena soluci\u00f3n vers\u00e1til. Inicialmente, el proyecto se desarrollaba bajo el nombre de \u2018newlib-nano\u2019, pero para evitar confusiones con la biblioteca Newlib, fue renombrado a PicoLibc.<\/p>\n<p>En su forma actual, ya se ha trabajado en Picolibc para eliminar todo el c\u00f3digo que no se suministra bajo la licencia BSD (este c\u00f3digo no se utiliz\u00f3 en la construcci\u00f3n para dispositivos embebidos), lo que ha simplificado significativamente la situaci\u00f3n con la licencia del proyecto. La implementaci\u00f3n de hilos locales ha sido trasladada de \u2018struct _reent\u2019 al mecanismo TLS (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Thread-local_storage\">almacenamiento local de hilos<\/a><\/noindex>). Se activ\u00f3 por defecto una versi\u00f3n compacta de stdio, tomada del c\u00f3digo de la biblioteca avrlibc (inserciones espec\u00edficas de ATmel reescritas en C). Se utiliz\u00f3 la herramienta Meson para la construcci\u00f3n, lo que permiti\u00f3 no depender de los scripts de construcci\u00f3n de newlib y simplific\u00f3 la transferencia de cambios de newlib. Se agreg\u00f3 una versi\u00f3n simplificada del c\u00f3digo de inicializaci\u00f3n (crt0), que se adjunta al archivo ejecutable y se ejecuta antes de pasar el control a la funci\u00f3n main().<\/p>\n<p>En la versi\u00f3n Picolibc 1.1:<\/p>\n<ul>\n<li class=\"l\"> Se a\u00f1adi\u00f3 una biblioteca auxiliar para soportar la tecnolog\u00eda \u2018<noindex><a rel=\"nofollow\" href=\"http:\/\/www.keil.com\/support\/man\/docs\/armcc\/armcc_pge1358787046598.htm\">semihosting<\/a><\/noindex>\u2018, permitiendo que el c\u00f3digo que se ejecuta en un entorno de depuraci\u00f3n o emulador utilice los mecanismos de entrada\/salida del sistema host;\n<li class=\"l\"> Para sistemas que soportan llamadas al sistema open, close, read y write, se han a\u00f1adido interfaces est\u00e1ndar de entrada\/salida POSIX a tinystdio, incluyendo las funciones fopen y fdopen, as\u00ed como la vinculaci\u00f3n de stdin\/stdout\/stderr a descriptores de archivos definidos en POSIX;\n<li class=\"l\"> Se han trasladado los cambios recientes de la base de c\u00f3digo de newlib. Se han a\u00f1adido tambi\u00e9n los stubs de libm para <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man3\/fenv.3.html\">fenv.h<\/a><\/noindex>, que se pueden utilizar en sistemas sin soporte para c\u00e1lculos de punto flotante;\n<li class=\"l\"> Se a\u00f1adi\u00f3 un ejemplo de construcci\u00f3n de una aplicaci\u00f3n \u2018Hello world\u2019 con picolibc para sistemas ARM y RISC-V;\n<li class=\"l\"> Se han eliminado los directorios newlib, libm y mathfp, que conten\u00edan c\u00f3digo experimental no utilizado.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/dostupna-standartnaya-si-biblioteka-picolibc-1-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47La biblioteca est\u00e1ndar de C PicoLibc 1.1 est\u00e1 disponible | ProHoster","description":"Keith Packard, desarrollador activo de Debian, l\u00edder del proyecto X.Org y creador de numerosas extensiones X, incluyendo XRender, XComposite y XRandR,","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/dostupna-standartnaya-si-biblioteka-picolibc-1-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/52800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=52800"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/52800\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=52800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=52800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=52800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}