{"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\/fr\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","title":{"rendered":"Sortie de ForgeZero 1.9.0, un outil de compilation pour C et assembleur","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Publication de la version ForgeZero 1.9.0 (fz), un outil de construction en ligne de commande pour des projets en C, C++ et assembleur (NASM, GAS, FASM). L'outil ne n\u00e9cessite pas la cr\u00e9ation d'un Makefile ou d'autres fichiers de configuration pour une utilisation de base. Le code du projet est \u00e9crit en Go et est distribu\u00e9 sous la licence MIT.      <\/p>\n<p>ForgeZero d\u00e9termine le type de fichier et s\u00e9lectionne automatiquement le backend n\u00e9cessaire. Chaque fichier de code est compil\u00e9 en fichier objet, apr\u00e8s quoi une v\u00e9rification des symboles globaux dupliqu\u00e9s dans tous les objets est effectu\u00e9e et une liaison en un fichier ex\u00e9cutable unique est r\u00e9alis\u00e9e. Les fichiers compil\u00e9s sont mis en cache et sont seulement recompil\u00e9s apr\u00e8s des modifications dans les fichiers de code associ\u00e9s. Un suivi optionnel des modifications dans le syst\u00e8me de fichiers et une recompilation apr\u00e8s mise \u00e0 jour des fichiers de code sont possibles.    <\/p>\n<p>Les compilateurs GCC, Clang, G++, Clang++ sont support\u00e9s; les assembleurs NASM, GAS, FASM; les linkers LD, GCC, Clang; l'archiver AR. Avertissements obligatoires pour C et C++ : \u00ab -Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion \u00bb. Par d\u00e9faut, les analyseurs AddressSanitizer et UndefinedBehaviorSanitizer sont activ\u00e9s (ils peuvent \u00eatre d\u00e9sactiv\u00e9s avec l\u2019option -sanitize=false). Les plates-formes Linux, macOS, Windows (WSL2 et exp\u00e9rimentalement en natif) sont prises en charge.       <\/p>\n<p>Changements principaux dans la version 1.9.0 :  <\/p>\n<ul>\n<li class=\"l\"> L\u2019option \u00ab -target \u00bb  a \u00e9t\u00e9 ajout\u00e9e, permettant de faire de la cross-compilation pour n\u2019importe quelle architecture en ayant l\u2019outillage pr\u00e9fix\u00e9 appropri\u00e9. fz d\u00e9termine automatiquement les noms du compilateur, du linker et de l\u2019archiver selon l\u2019identifiant sp\u00e9cifi\u00e9 (par exemple, \u00ab arm-linux-gnueabihf-gcc \u00bb). Toutes les plates-formes cibles GNU standard sont support\u00e9es, notamment arm-linux-gnueabihf, aarch64-linux-gnu et riscv64-linux-gnu.\n<li class=\"l\"> Le support du protocole LSP (Language Server Protocol) a \u00e9t\u00e9 mis en \u0153uvre. L\u2019option \u00ab -compile-commands \u00bb g\u00e9n\u00e8re un fichier compile_commands.json (Compilation Database) \u00e0 la racine du projet. Ce fichier est lu par les langages. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/dts-dusseldorf\/\" title=\"serveurs tr\u00e8s charg\u00e9s\" data-wpil-keyword-link=\"linked\">serveurs tr\u00e8s charg\u00e9s<\/a> clangd et ccls, facilitant l'autocompl\u00e9tion, la navigation dans le code et le diagnostic dans les \u00e9diteurs supportant LSP (Neovim, VSCode, CLion, Emacs, etc.).\n<li class=\"l\"> La commande fz \u00ab -update \u00bb avant l'installation d'une nouvelle version conserve maintenant le fichier binaire actuel dans \/usr\/local\/bin\/fz.old, permettant ainsi de revenir \u00e0 la version pr\u00e9c\u00e9dente sans r\u00e9installation.\n<li class=\"l\"> Un bug a \u00e9t\u00e9 corrig\u00e9, dans lequel des fichiers ayant le m\u00eame nom de base \u00e0 partir de sous-r\u00e9pertoires diff\u00e9rents \u00e9crasaient les fichiers objets les uns des autres dans des projets multidirectionnels. Les noms des fichiers objets sont d\u00e9sormais g\u00e9n\u00e9r\u00e9s sur la base du chemin relatif complet vers le fichier source.\n<li class=\"l\"> Un mode interactif \u00ab fz -shell \u00bb a \u00e9t\u00e9 mis en \u0153uvre pour la compilation de fichiers individuels.\n<li class=\"l\"> La couverture de test pour les commandes SplitCommand, CmdSet et CmdBuild a \u00e9t\u00e9 ajout\u00e9e. La couverture des tests du package de l'assembleur est pass\u00e9e de 17 % \u00e0 60 %, et la couverture de tous les packages a d\u00e9pass\u00e9 40 %.\n<li class=\"l\"> Un m\u00e9canisme de substitution CheckTool a \u00e9t\u00e9 ajout\u00e9 pour tester des sc\u00e9narios avec des composants d'outil manquants.      <\/ul>\n<p>Modifications des versions pr\u00e9c\u00e9dentes :  <\/p>\n<ul>\n<li class=\"l\"> Dans la version 1.8.0, la compilation de biblioth\u00e8ques statiques (-type static \/ -lib) a \u00e9t\u00e9 mise en place, garantissant l'unicit\u00e9 des noms de fichiers objets dans les projets multi-dossiers, et des erreurs dans le sous-syst\u00e8me de compilation li\u00e9es \u00e0 la navigation dans le chemin \u00ab .. \u00bb ont \u00e9t\u00e9 corrig\u00e9es.\n<li class=\"l\"> Dans la version 1.7.0, la compilation parall\u00e8le (-j N, 0 \u2014 auto-d\u00e9tection du nombre de c\u0153urs), le support des scripts de linker (-T) et l'adresse du point d'entr\u00e9e (-Ttext), un mode interactif (fz -shell), un choix explicite du format de sortie (elf32, elf64, bin), et la compilation de fichiers C++ (.cpp, .cc, .cxx) avec les m\u00eames drapeaux d'avertissement stricts que pour C ont \u00e9t\u00e9 ajout\u00e9s.\n<li class=\"l\"> La version 1.6.0 a ajout\u00e9 l'initialisation du projet (fz -init, cr\u00e9e .fz.yaml, .fzignore, README.md), le support du format bin (-format bin) pour les chargeurs et les firmwares, ainsi que les champs de configuration libs, flags.cc, flags.asm, flags.ld.\n<li class=\"l\"> La version 1.5.0 a facilit\u00e9 des r\u00e9pertoires sources multiples (source_dirs), des listes explicites de fichiers (source_files), des mod\u00e8les include\/exclude, un champ libs pour les biblioth\u00e8ques de l'assembleur, un fichier .fzignore, et la fusion hi\u00e9rarchique des fichiers de configuration.    <\/ul>\n<p>Source : <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\/fr\/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=\"fr_FR\" \/>\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\/fr\/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\udd47 Lancement de ForgeZero 1.9.0, l'outil de compilation pour C et l'assembleur | ProHoster","description":"La version ForgeZero 1.9.0 (fz) a \u00e9t\u00e9 publi\u00e9e, un outil de compilation en ligne de commande pour les projets en C, C++ et en assembleur (NASM, GAS, FASM).","canonical_url":"https:\/\/prohoster.info\/fr\/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":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/172667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=172667"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/172667\/revisions"}],"predecessor-version":[{"id":181603,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/172667\/revisions\/181603"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=172667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=172667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=172667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}