{"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\/de\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","title":{"rendered":"Ver\u00f6ffentlichung von ForgeZero 1.9.0, einem Build-Tool f\u00fcr C und Assembler","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Die Ver\u00f6ffentlichung von ForgeZero 1.9.0 (fz), einem Konsolen-Tool zum Bauen von Projekten in C, C++ und Assembler (NASM, GAS, FASM), ist erfolgt. Das Tool erfordert keine Erstellung von Makefiles oder anderen Konfigurationsdateien f\u00fcr die Grundnutzung. Der Code des Projekts ist in Go geschrieben und steht unter der MIT-Lizenz.      <\/p>\n<p>ForgeZero bestimmt den Dateityp und w\u00e4hlt automatisch das erforderliche Backend aus. Jede Code-Datei wird in eine Objektdatei kompiliert, gefolgt von einer \u00dcberpr\u00fcfung auf doppelte globale Symbole in allen Objekten und der Verkn\u00fcpfung zu einer einzelnen ausf\u00fchrbaren Datei. Kompilierte Dateien werden zwischengespeichert und nur neu kompiliert, wenn \u00c4nderungen an den zugeh\u00f6rigen Code-Dateien vorgenommen werden. Eine optionale \u00dcberwachung von \u00c4nderungen im Dateisystem und die Neubau nach Aktualisierung der Code-Dateien sind m\u00f6glich.    <\/p>\n<p>Unterst\u00fctzt werden die Compiler GCC, Clang, G++, Clang++; die Assembler NASM, GAS, FASM; die Linker LD, GCC, Clang; der Archivierer AR. Obligatorische Warnungen f\u00fcr C und C++: \u00ab-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion\u00bb. Standardm\u00e4\u00dfig sind die Sanitizer AddressSanitizer und UndefinedBehaviorSanitizer aktiviert (k\u00f6nnen mit dem Flag -sanitize=false ausgeschaltet werden). Unterst\u00fctzte Plattformen sind Linux, macOS, Windows (WSL2 und experimentell nativ).       <\/p>\n<p>Die wichtigsten \u00c4nderungen in Version 1.9.0:  <\/p>\n<ul>\n<li class=\"l\"> Das Flag \u00ab-target\u00bb  wurde hinzugef\u00fcgt, das die Cross-Kompilierung f\u00fcr beliebige Architekturen erm\u00f6glicht, sofern die entsprechenden Pr\u00e4fixwerkzeuge vorhanden sind. fz bestimmt automatisch die Namen des Compilers, Linkers und Archivierers anhand der angegebenen ID (z. B. \u00abarm-linux-gnueabihf-gcc\u00bb). Alle Standardziele von GNU werden unterst\u00fctzt, darunter arm-linux-gnueabihf, aarch64-linux-gnu und riscv64-linux-gnu.\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr das Protokoll LSP (Language Server Protocol) wurde implementiert. Das Flag \u00ab-compile-commands\u00bb generiert die Datei compile_commands.json (Kompilierungsdatenbank) im Wurzelverzeichnis des Projekts. Die Datei wird von den Sprachen gelesen. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/dts-dusseldorf\/\" title=\"Servern\" data-wpil-keyword-link=\"linked\">Servern<\/a> clangd und ccls gelesen, wodurch Funktionen wie Autovervollst\u00e4ndigung, Code-Navigation und Diagnosen in Editoren mit LSP-Unterst\u00fctzung (Neovim, VSCode, CLion, Emacs usw.) zur Verf\u00fcgung stehen.\n<li class=\"l\"> Der Befehl fz \u00ab-update\u00bb sichert jetzt die aktuelle Bin\u00e4rdatei vor der Installation einer neuen Version in \/usr\/local\/bin\/fz.old, was einen R\u00fcckfall auf die vorherige Version ohne Neuinstallation erm\u00f6glicht.\n<li class=\"l\"> Ein Fehler wurde behoben, bei dem in Multi-Verzeichnisprojekten Dateien mit identischen Grundnamen aus verschiedenen Unterverzeichnissen sich gegenseitig \u00fcberschrieben. Die Namen der Objektdateien werden jetzt basierend auf dem vollen relativen Pfad zur Quelldatei erstellt.\n<li class=\"l\"> Der interaktive Modus \u00abfz -shell\u00bb wurde f\u00fcr die Kompilierung einzelner Dateien implementiert.\n<li class=\"l\"> Testabdeckung f\u00fcr die Befehle SplitCommand, CmdSet und CmdBuild wurde hinzugef\u00fcgt. Die Testabdeckung des Linker-Pakets wurde von 17% auf 60% erh\u00f6ht, und die Abdeckung aller Pakete \u00fcberstieg 40%.\n<li class=\"l\"> Ein Mechanismus zur Ersetzung von CheckTool f\u00fcr Testszenarien ohne fehlende Toolchain-Komponenten wurde hinzugef\u00fcgt.      <\/ul>\n<p>\u00c4nderungen der vorherigen Versionen:  <\/p>\n<ul>\n<li class=\"l\"> In Version 1.8.0 wurde die Erstellung statischer Bibliotheken (-type static \/ -lib) implementiert, die Einmaligkeit der Namen der Objektdateien in multi-directory Projekten gew\u00e4hrleistet und Fehler im Bausystem, die mit dem Pfad \u00ab..\u00bb zusammenh\u00e4ngen, behoben.\n<li class=\"l\"> In Version 1.7.0 wurde die parallele Kompilierung (-j N, 0 \u2014 automatische Kernzahlbestimmung), Unterst\u00fctzung f\u00fcr Linker-Skripte (-T) und die Adresse des Einstiegspunkts (-Ttext), der interaktive Modus (fz -shell), die explizite Auswahl des Ausgabeformats (elf32, elf64, bin) sowie die Kompilierung von C++-Dateien (.cpp, .cc, .cxx) mit denselben strengen Warnungsflags wie f\u00fcr C implementiert.\n<li class=\"l\"> In Version 1.6.0 wurden die Projektinitialisierung (fz -init, erstellt .fz.yaml, .fzignore, README.md), Unterst\u00fctzung f\u00fcr das bin-Format (-format bin) f\u00fcr Loader und Firmware, Konfigurationsfelder libs, flags.cc, flags.asm, flags.ld hinzugef\u00fcgt.\n<li class=\"l\"> In Version 1.5.0 wurden mehrere Quellverzeichnisse (source_dirs), explizite Dateilisten (source_files), Include-\/Exclude-Vorlagen, das Feld libs f\u00fcr den Linker, die .fzignore-Datei und ein mehrstufiges Zusammenf\u00fchren von Konfigurationsdateien implementiert.    <\/ul>\n<p>Quelle: <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\/de\/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=\"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\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\/de\/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\udd47Ver\u00f6ffentlichung von ForgeZero 1.9.0, dem Build-Werkzeug f\u00fcr C und Assembler | ProHoster","description":"Die Version ForgeZero 1.9.0 (fz), ein Konsolenwerkzeug zum Bauen von Projekten in C, C++ und Assembler (NASM, GAS, FASM), wurde ver\u00f6ffentlicht.","canonical_url":"https:\/\/prohoster.info\/de\/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":"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\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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/172667","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=172667"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/172667\/revisions"}],"predecessor-version":[{"id":181603,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/172667\/revisions\/181603"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=172667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=172667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=172667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}