{"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\/it\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","title":{"rendered":"Uscita di ForgeZero 1.9.0, uno strumento di compilazione per C e assembler","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 stata pubblicata la versione ForgeZero 1.9.0 (fz), uno strumento da console per la compilazione di progetti in C, C++ e assembler (NASM, GAS, FASM). Lo strumento non richiede la creazione di un Makefile o di altri file di configurazione per un uso di base. Il codice del progetto \u00e8 scritto in Go e distribuito sotto licenza MIT.      <\/p>\n<p>ForgeZero determina il tipo di file e seleziona automaticamente il backend necessario. Ogni file di codice viene compilato in un file oggetto, dopo di che viene eseguita un'analisi per simboli globali duplicati in tutti gli oggetti, realizzando la linkizzazione in un unico file eseguibile. I file compilati vengono memorizzati nella cache e ricompilati solo dopo modifiche ai relativi file di codice. \u00c8 possibile abilitare il monitoraggio delle modifiche nel file system e la ricompilazione dopo l'aggiornamento dei file di codice.    <\/p>\n<p>Supporto per i compilatori GCC, Clang, G++, Clang++; assembler NASM, GAS, FASM; linker LD, GCC, Clang; archiviatore AR. Avvertenze obbligatorie per C e C++: \u2018-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion\u2019. Gli strumenti AddressSanitizer e UndefinedBehaviorSanitizer sono attivati per impostazione predefinita (disattivabili con il flag -sanitize=false). Piattaforme supportate: Linux, macOS, Windows (WSL2 e sperimentalmente in modo nativo).       <\/p>\n<p>Le principali novit\u00e0 della versione 1.9.0:  <\/p>\n<ul>\n<li class=\"l\"> Aggiunto il flag \u2018-target\u2019 , che consente la cross-compilazione per qualsiasi architettura, a condizione che sia disponibile un toolchain di prefissi corrispondenti. fz determina automaticamente i nomi del compilatore, linker e archiviatore dall'identificatore specificato (ad esempio, \u2018arm-linux-gnueabihf-gcc\u2019). Supportate tutte le piattaforme target GNU standard, tra cui arm-linux-gnueabihf, aarch64-linux-gnu e riscv64-linux-gnu.\n<li class=\"l\"> Implementato il supporto per il protocollo LSP (Language Server Protocol). Il flag \u2018-compile-commands\u2019 genera un file compile_commands.json (Compilation Database) nella radice del progetto. Il file viene letto dai linguaggi. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-dusseldorf\/\" title=\"server\" data-wpil-keyword-link=\"linked\">server<\/a> clangd e ccls, fornendo funzionalit\u00e0 di completamento automatico, navigazione nel codice e diagnostica in editor che supportano LSP (Neovim, VSCode, CLion, Emacs, ecc.).\n<li class=\"l\"> Il comando fz \u2018-update\u2019 prima di installare una nuova versione ora salva il file binario corrente in \/usr\/local\/bin\/fz.old, consentendo di tornare alla versione precedente senza reinstallazione.\n<li class=\"l\"> \u00c8 stato risolto un problema per cui nei progetti multi-directory i file con nomi base identici in diverse sottocartelle sovrascrivevano i file oggetto l'uno con l'altro. I nomi dei file oggetto vengono ora generati sulla base del percorso relativo completo del file sorgente.\n<li class=\"l\"> Implementato la modalit\u00e0 interattiva \u2018fz -shell\u2019 per la compilazione di file singoli.\n<li class=\"l\"> \u00c8 stata aggiunta una copertura dei test per i comandi SplitCommand, CmdSet e CmdBuild. La copertura dei test del pacchetto di collegamento \u00e8 aumentata dal 17% al 60%, mentre la copertura di tutti i pacchetti ha superato il 40%.\n<li class=\"l\"> \u00c8 stato aggiunto un meccanismo di sostituzione di CheckTool per testare gli scenari con componenti mancanti della toolchain.      <\/ul>\n<p>Modifiche delle versioni precedenti:  <\/p>\n<ul>\n<li class=\"l\"> Nella versione 1.8.0 \u00e8 stata implementata la compilazione di librerie statiche (-type static \/ -lib), garantendo l'unicit\u00e0 dei nomi dei file oggetto in progetti multi-directory; errori nel sottosistema di compilazione relativi all'attraversamento del percorso \u2018..\u2019 sono stati corretti.\n<li class=\"l\"> Nella versione 1.7.0 \u00e8 stata aggiunta la compilazione parallela (-j N, 0 \u2014 auto-determinazione del numero di core), supporto per linker script (-T) e indirizzo del punto d'ingresso (-Ttext), modalit\u00e0 interattiva (fz -shell), scelta esplicita del formato di output (elf32, elf64, bin), compilazione di file C++ (.cpp, .cc, .cxx) con gli stessi severi flag di avvertenza utilizzati per C.\n<li class=\"l\"> Nella versione 1.6.0 sono state aggiunte l'inizializzazione del progetto (fz -init, crea .fz.yaml, .fzignore, README.md), supporto per il formato bin (-format bin) per loader e firmware, campi di configurazione libs, flags.cc, flags.asm, flags.ld.\n<li class=\"l\"> Nella versione 1.5.0 sono state implementate pi\u00f9 directory sorgente (source_dirs), elenchi espliciti di file (source_files), modelli di include\/exclude, campo libs per le librerie del linker, file .fzignore, fusione multilivello dei file di configurazione.    <\/ul>\n<p>Fonte: <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.1.1 - 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\/it\/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.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Versione ForgeZero 1.9.0, strumento di compilazione per C e assembler | ProHoster","description":"\u00c8 stata pubblicata la versione ForgeZero 1.9.0 (fz), uno strumento di compilazione da console per progetti in linguaggi C, C++ e assembler (NASM, GAS, FASM).","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/172667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=172667"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/172667\/revisions"}],"predecessor-version":[{"id":181603,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/172667\/revisions\/181603"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=172667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=172667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=172667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}