{"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\/et\/blog\/news\/vypusk-forgezero-1-9-0-instrumenta-sborki-dlya-c-i-assemblera__trashed","title":{"rendered":"ForgeZero 1.9.0 v\u00e4ljaanne, t\u00f6\u00f6riist C ja assembleerimise kogumiseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Avaldati ForgeZero 1.9.0 (fz) v\u00e4ljaanne, konsoolit\u00f6\u00f6riist C, C++ ja assembleerimise (NASM, GAS, FASM) projektide kogumiseks. T\u00f6\u00f6riist ei vaja Makefile'i ega muid konfiguratsiooni faile p\u00f5hikasutuse jaoks. Projekti kood on kirjutatud Go keeles ja see on litsentseeritud MIT litsentsi alusel.      <\/p>\n<p>ForgeZero m\u00e4\u00e4rab faili t\u00fc\u00fcbi ja valib automaatselt vajaliku tagaplaneeringu. Iga koodifail koostatakse objektifailiks, seej\u00e4rel kontrollitakse k\u00f5ikide objektide \u00fcle korduvate globaalsete s\u00fcmbolite olemasolu ning komponeeritakse \u00fchte t\u00e4idetavasse faili. Kompileeritud faile vahelduvalt vahetatakse ja uuesti kompileeritakse ainult juhul, kui seotud koodifailidesse tehakse muudatusi. On v\u00f5imalik valikuline muudatuste j\u00e4lgimine FS-is ja faili uuendamise j\u00e4rel uuesti kompileerimine.    <\/p>\n<p>Toetatakse GCC, Clang, G++, Clang++; assemblerid NASM, GAS, FASM; linkerid LD, GCC, Clang; arhivaar AR. C ja C++ puhul kehtivad kohustuslikud hoiatusteated: \u00ab-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion\u00bb. Vaikimisi on aktiveeritud sanitiseerijad AddressSanitizer ja UndefinedBehaviorSanitizer (v\u00e4ljal\u00fclitamiseks kasutatakse lippu -sanitize=false). Toetatud platvormid on Linux, macOS, Windows (WSL2 ja eksperimentaalselt natiivne).       <\/p>\n<p>Peamised muudatused versioonis 1.9.0:  <\/p>\n<ul>\n<li class=\"l\"> Lisatud lipp \u00ab-target\u00bb , mis v\u00f5imaldab teostada ristkompileerimist mis tahes arhitektuuri jaoks, kui on olemas vastav eeltingimus. fz m\u00e4\u00e4rab automaatselt kompilatori, linkeri ja arhiv\u00e4\u00e4ri nimed antud identifikaatori (nt \u00abarm-linux-gnueabihf-gcc\u00bb) p\u00f5hjal. Toetatakse k\u00f5iki standardseid GNU sihtplatvorme, sealhulgas arm-linux-gnueabihf, aarch64-linux-gnu ja riscv64-linux-gnu.\n<li class=\"l\"> T\u00f6\u00f6s on LSP (Language Server Protocol) protokolli tugi. Lipp \u00ab-compile-commands\u00bb genereerib faili compile_commands.json (Kompilatsioonibaas) projekti juures. Faili loevad keele- <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/dts-dusseldorf\/\" title=\"serveritega\" data-wpil-keyword-link=\"linked\">serveritega<\/a> clangd ja ccls, pakkudes automaatset t\u00e4iendamist, koodis navigeerimist ja diagnostikat LSP-i toetavates redaktorites (Neovim, VSCode, CLion, Emacs jne).\n<li class=\"l\"> K\u00e4sk fz \u00ab-update\u00bb uue versiooni installimise eel salvestab praeguse binaarfaili aadressile \/usr\/local\/bin\/fz.old, mis v\u00f5imaldab taanduda eelnevale versioonile ilma uuesti installimata.\n<li class=\"l\"> Parandatud viga, kus mitme katalooge h\u00f5lmavates projektides sama aluss nimega failid \u00fcle kirjutasid teineteise objektifailid. Objektifailide nimed genereeritakse n\u00fc\u00fcd l\u00e4htudes algfaili t\u00e4is suhtelisest teest.\n<li class=\"l\"> T\u00f6\u00f6s on interaktiivne re\u017eiim \u00abfz -shell\u00bb \u00fcksikfailide kompileerimiseks.\n<li class=\"l\"> Lisatud testkatte erinevatele k\u00e4skudele SplitCommand, CmdSet ja CmdBuild. Kompilaatori paketile tehtud testide katvus t\u00f5usis 17% -lt 60% -ni ning k\u00f5igi pakettide katvus \u00fcletas 40%.\n<li class=\"l\"> Lisatud CheckTool'i asendamise mehhanism, et testida stsenaariume, kus puudu on t\u00f6\u00f6riistade komplekti komponente.      <\/ul>\n<p>Eelmiste v\u00e4ljaannete muudatused:  <\/p>\n<ul>\n<li class=\"l\"> Versioonis 1.8.0 on rakendatud staatiliste raamatukogude ehitamine (-type static \/ -lib), tagatud objektifailide unikaalsus mitme katalooge h\u00f5lmavate projektide puhul, parandatud on ehitusalase s\u00fcsteemi t\u00f5rked, mis on seotud \u00ab..\u00bb tee \u00fcletamisega.\n<li class=\"l\"> Versioonis 1.7.0 on lisatud paralleelne kompileerimine (-j N, 0 \u2014 automaatne tuvastamine tuumade arvule), linkeri skriptide tugi (-T) ja sissep\u00e4\u00e4supunkti aadress (-Ttext), interaktiivne re\u017eiim (fz -shell), v\u00e4ljundformaadi selge valik (elf32, elf64, bin), C++ failide kompileerimine (.cpp, .cc, .cxx) sama range hoiatuste lipuga nagu C puhul.\n<li class=\"l\"> Versioonis 1.6.0 on lisatud projekti initsialiseerimine (fz -init, loob .fz.yaml, .fzignore, README.md), bin formaadi (-format bin) tugi laadijatele ja p\u00fcsivara, konfiguratsiooni v\u00e4ljad libs, flags.cc, flags.asm, flags.ld.\n<li class=\"l\"> Versioonis 1.5.0 on rakendatud mitme allika kataloogide (source_dirs) tugi, selged failide nimekirjad (source_files), include\/exclude mallid, teekide v\u00e4ljad kompilatsiooniks, fail .fzignore, mitmeastmeline konfiguratsioonifailide \u00fchendamine.    <\/ul>\n<p>Allikas: <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\/et\/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=\"et_EE\" \/>\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\/et\/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\udd47ForgeZero 1.9.0 v\u00e4ljaanne, t\u00f6\u00f6riist C ja assembleri jaoks | ProHoster","description":"Avaldatud uuendus ForgeZero 1.9.0 (fz), konsoolne kompileerimist\u00f6\u00f6riist C, C++ ja assemblerite (NASM, GAS, FASM) projektide jaoks.","canonical_url":"https:\/\/prohoster.info\/et\/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":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/172667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=172667"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/172667\/revisions"}],"predecessor-version":[{"id":181603,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/172667\/revisions\/181603"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=172667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=172667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=172667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}