{"id":172667,"date":"2026-05-19T06:24:36","date_gmt":"2026-05-19T04:24:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera"},"modified":"2026-05-19T13:22:10","modified_gmt":"2026-05-19T11:22:10","slug":"vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","title":{"rendered":"Lanzamiento de ForgeZero 1.9.0, una herramienta de compilaci\u00f3n para C y ensamblador.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Se ha publicado la versi\u00f3n ForgeZero 1.9.0 (fz), una herramienta de consola para proyectos en lenguajes C, C++ y ensamblador (NASM, GAS, FASM). Esta herramienta no requiere la creaci\u00f3n de un Makefile o de otros archivos de configuraci\u00f3n para su uso b\u00e1sico. El c\u00f3digo del proyecto est\u00e1 escrito en Go y se distribuye bajo la licencia MIT.      <\/p>\n<p>ForgeZero identifica el tipo de archivo y selecciona autom\u00e1ticamente el backend necesario. Cada archivo de c\u00f3digo se compila en un archivo objeto, tras lo cual se verifica la duplicaci\u00f3n de s\u00edmbolos globales en todos los objetos y se lleva a cabo la vinculaci\u00f3n en un \u00fanico archivo ejecutable. Los archivos compilados se almacenan en cach\u00e9 y solo se recompilan despu\u00e9s de realizar cambios en los archivos de c\u00f3digo relacionados. Tambi\u00e9n es posible rastrear cambios en el sistema de archivos y recompilar despu\u00e9s de actualizar los archivos de c\u00f3digo.    <\/p>\n<p>Se admiten los compiladores GCC, Clang, G++, Clang++; ensambladores NASM, GAS, FASM; vinculadores LD, GCC, Clang; archivero AR. Advertencias obligatorias para C y C++: &#171;-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion&#187;. Por defecto, est\u00e1n habilitados los sanitizadores AddressSanitizer y UndefinedBehaviorSanitizer (se desactivan con la opci\u00f3n -sanitize=false). Se admiten las plataformas Linux, macOS, Windows (WSL2 y experimentalmente nativo).       <\/p>\n<p>Principales cambios en la versi\u00f3n 1.9.0:  <\/p>\n<ul>\n<li class=\"l\"> Se ha a\u00f1adido la opci\u00f3n &#171;-target&#187; &lt;triple&gt;, que permite realizar la compilaci\u00f3n cruzada para cualquier arquitectura, siempre que haya una herramienta correspondiente. fz determina autom\u00e1ticamente los nombres del compilador, vinculador y archivero seg\u00fan el identificador especificado (por ejemplo, &#171;arm-linux-gnueabihf-gcc&#187;). Se admiten cualquier plataforma de destino est\u00e1ndar de GNU, incluyendo arm-linux-gnueabihf, aarch64-linux-gnu y riscv64-linux-gnu.\n<li class=\"l\"> Se ha implementado el soporte para el protocolo LSP (Language Server Protocol). La opci\u00f3n &#171;-compile-commands&#187; genera un archivo compile_commands.json (Base de datos de compilaci\u00f3n) en la ra\u00edz del proyecto. El archivo es le\u00eddo por los lenguajes. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/server\/dts-dusseldorf\/\" title=\"servidores\" data-wpil-keyword-link=\"linked\">servidores<\/a> clangd y ccls, proporcionando autocompletado, navegaci\u00f3n de c\u00f3digo y diagn\u00f3stico en editores que son compatibles con LSP (Neovim, VSCode, CLion, Emacs, entre otros).\n<li class=\"l\"> El comando fz &#171;-update&#187; antes de instalar una nueva versi\u00f3n ahora guarda el archivo binario actual en \\\/usr\\\/local\\\/bin\\\/fz.old, lo que permite retroceder a la versi\u00f3n anterior sin reinstalar.\n<li class=\"l\"> Se ha corregido un error en el que, en proyectos multidirectorios, los archivos con nombres base id\u00e9nticos de diferentes subcarpetas sobrescrib\u00edan los archivos objeto entre s\u00ed. Los nombres de los archivos objeto ahora se generan en funci\u00f3n de la ruta relativa completa al archivo de origen.\n<li class=\"l\"> Se ha implementado el modo interactivo &#171;fz -shell&#187; para compilar archivos individuales.\n<li class=\"l\"> Se ha a\u00f1adido cobertura de pruebas para los comandos SplitCommand, CmdSet y CmdBuild. La cobertura de pruebas del paquete del vinculador ha aumentado del 17% al 60%, y la cobertura de todos los paquetes ha superado el 40%.\n<li class=\"l\"> Se ha agregado un mecanismo de sustituci\u00f3n CheckTool para probar escenarios con componentes faltantes de la cadena de herramientas.      <\/ul>\n<p>Cambios en versiones anteriores:  <\/p>\n<ul>\n<li class=\"l\"> En la versi\u00f3n 1.8.0 se ha implementado la compilaci\u00f3n de bibliotecas est\u00e1ticas (-type static \\\/ -lib), se asegura la unicidad de los nombres de archivo objeto en proyectos multidirectorios, se han corregido errores en el subsistema de compilaci\u00f3n relacionados con la derivaci\u00f3n de la ruta &#171;..&#187;.\n<li class=\"l\"> En la versi\u00f3n 1.7.0 se ha agregado la compilaci\u00f3n paralela (-j N, 0 \u2014 detecci\u00f3n autom\u00e1tica del n\u00famero de n\u00facleos), soporte para scripts de vinculador (-T) y direcci\u00f3n del punto de entrada (-Ttext), modo interactivo (fz -shell), selecci\u00f3n expl\u00edcita del formato de salida (elf32, elf64, bin), compilaci\u00f3n de archivos C++ (.cpp, .cc, .cxx) con las mismas estrictas banderas de advertencia que para C.\n<li class=\"l\"> En la versi\u00f3n 1.6.0, se a\u00f1adieron la inicializaci\u00f3n del proyecto (fz -init, crea .fz.yaml, .fzignore, README.md), soporte para el formato bin (-format bin) para cargadores y firmware, campos de configuraci\u00f3n libs, flags.cc, flags.asm, flags.ld.\n<li class=\"l\"> En la versi\u00f3n 1.5.0, se implementaron m\u00faltiples directorios de fuentes (source_dirs), listas expl\u00edcitas de archivos (source_files), plantillas de inclusi\u00f3n\/exclusi\u00f3n, campo libs para bibliotecas del vinculador, archivo .fzignore, y fusi\u00f3n jer\u00e1rquica de archivos de configuraci\u00f3n.    <\/ul>\n<p>Fuente: <a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65474\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 ForgeZero 1.9.0 (fz), \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C, C++ \u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 (NASM, GAS, FASM). \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Makefile \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043b\u044f \u0431\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. ForgeZero \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0431\u044d\u043a\u0435\u043d\u0434. \u041a\u0430\u0436\u0434\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u043a\u043e\u0434\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-172667","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=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 ForgeZero 1.9.0 (fz), \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C, C++ \u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 (NASM, GAS, FASM).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed\" \/>\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\u0412\u044b\u043f\u0443\u0441\u043a ForgeZero 1.9.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f C \u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 ForgeZero 1.9.0 (fz), \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C, C++ \u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 (NASM, GAS, FASM).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed\" \/>\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=\"2026-05-19T04:24:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-19T11:22:10+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\udd47Lanzamiento de ForgeZero 1.9.0, herramienta de construcci\u00f3n para C y ensamblador | ProHoster","description":"Se ha publicado el lanzamiento de ForgeZero 1.9.0 (fz), una herramienta de l\u00ednea de comandos para la construcci\u00f3n de proyectos en C, C++ y ensamblador (NASM, GAS, FASM).","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","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\u0412\u044b\u043f\u0443\u0441\u043a ForgeZero 1.9.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f C \u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 ForgeZero 1.9.0 (fz), \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C, C++ \u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 (NASM, GAS, FASM).","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","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":"2026-05-19T04:24:36+00:00","article:modified_time":"2026-05-19T11:22:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/172667","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=172667"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/172667\/revisions"}],"predecessor-version":[{"id":181603,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/172667\/revisions\/181603"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=172667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=172667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=172667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}