Kuburitswa kweForgeZero 1.9.0, chishandiso chekuvaka cheC neassembler

ForgeZero 1.9.0 (fz), chishandiso chekuvaka mutsetse wemirairo yemapurojekiti akanyorwa muC, C++, uye mitauro yekubatanidza (NASM, GAS, FASM), chaburitswa. Chishandiso ichi hachidi Makefile kana mamwe mafaira ekugadzirisa kuti chishandiswe zviri nyore. Kodhi yepurojekiti yakanyorwa muGo uye ine rezinesi pasi peMIT rezinesi.

ForgeZero inoona rudzi rwefaira uye inosarudza otomatiki backend yakakodzera. Faira rega rega rekodhi rinounganidzwa kuita faira rechinhu, robva raongororwa zviratidzo zvepasi rose zvakapetwa pazvinhu zvese uye rakabatanidzwa kuita faira rimwe chete rinogoneka. Mafaira akaunganidzwa anochengetwa uye anounganidzwazve chete mushure mekunge shanduko dzaitwa kumafaira ekodhi akabatana. Zvingasarudzwa, kuteverwa kwekuchinja kwemafaira uye kuunganidzwazve kunogoneka mushure mekuvandudzwa kwefaira rekodhi.

Makomputa anotsigirwa ndiGCC, Clang, G++, uye Clang++; maassembler ndiNASM, GAS, uye FASM; malinkers ndiLD, GCC, uye Clang; uye AR archiver inotsigirwa. Nyevero dzinofanira kupihwa paC neC++ ndedzinoti: "-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion". AddressSanitizer neUndefinedBehaviorSanitizer sanitizers dzinogoneswa nedefault (dzinogona kudzimwa ne -sanitize=false flag). Mapuratifomu anotsigirwa ndeaya: Linux, macOS, Windows (WSL2 uye yakabva mukuyedza).

Shanduko huru mushanduro 1.9.0:

  • Yakawedzera mureza we "-target" , iyo inogonesa kubatanidzwa kwechero dhizaini ine maturusi akakodzera eprefix. fz inosarudza otomatiki mazita emusanganisi, musanganisi, uye muchengeti wezvinyorwa zvichibva pane chiziviso chakatarwa (semuenzaniso, "arm-linux-gnueabihf-gcc"). Mapuratifomu ese akajairika eGNU anotsigirwa, anosanganisira arm-linux-gnueabihf, aarch64-linux-gnu, uye riscv64-linux-gnu.
  • Rutsigiro rweLanguage Server Protocol (LSP) rwaitwa. Mureza we "-compile-commands" unogadzira faira re compile_commands.json (Compilation Database) mumudzi wepurojekiti. Faira rinoverengwa nemutauro. maseva clangd uye ccls, zvichipa autocompletion, kodhi navigation, uye diagnostics muvagadziri vanotsigira LSP (Neovim, VSCode, CLion, Emacs, nezvimwewo).
  • Murairo we fz "-update" ikozvino unochengetedza binary iripo ku /usr/local/bin/fz.old usati waisa vhezheni itsva, zvichikubvumidza kudzokera kuvhezheni yapfuura usina kuiisazve.
  • Takagadzirisa dambudziko mumapurojekiti emadhairekitori akawanda apo mafaira ane mazita akafanana kubva kumadhairekitori akasiyana aizobvisa mafaira echinhu cheumwe neumwe. Mazita emafaira echinhu iye zvino anogadzirwa zvichibva pane nzira yakazara yekuenda kufaira rekutanga.
  • Ndakaisa nzira yekudyidzana inonzi "fz -shell" pakuvaka mafaira ega ega.
  • Kuvharwa kwekuyedzwa kwawedzerwa kumirairo yeSplitCommand, CmdSet, uye CmdBuild. Kuvharwa kwekuyedzwa kwepakeji ye linker kwakawedzera kubva pa17% kusvika ku60%, uye kuvharwa kwemapakeji ese kwapfuura 40%.
  • Yakawedzera nzira yekutsiva CheckTool yekuedza mamiriro ezvinhu asina zvikamu zve toolchain.

Shanduko kubva pane zvakaburitswa kare:

  • Shanduro 1.8.0 inoshandisa kuunganidzwa kwemaraibhurari asingachinji (-type static / -lib), inovimbisa kusiyana kwemazita emafaira echinhu mumapurojekiti e-multi-director, uye inogadzirisa zvikanganiso muhurongwa hwepasi pesangano zvine chekuita nekuyambuka kwenzira ye "..".
  • Shanduro 1.7.0 inowedzera kuunganidzwa kwakafanana (-j N, 0 — autodetection yenhamba yemacores), rutsigiro rwe linker scripts (-T) uye entry point addresses (-Ttext), interactive mode (fz -shell), sarudzo yakajeka ye output format (elf32, elf64, bin), kuunganidzwa kwemafaira eC++ (.cpp, .cc, .cxx) nezviratidzo zvakafanana zvenyevero sezvakaita C.
  • Shanduro 1.6.0 inowedzera kutanga kwepurojekiti (fz -init, inogadzira .fz.yaml, .fzignore, README.md), rutsigiro rwefomati yebhini (-format bin) yemabootloader nefirmware, uye minda yekugadzirisa libs, flags.cc, flags.asm, flags.ld.
  • Shanduro 1.5.0 inounza madhairekitori akawanda ezvinyorwa (source_dirs), rondedzero dzemafaira akajeka (source_files), include/exclude patterns, munda we libs wema linker libraries, faira re .fzignore, uye kubatanidzwa kwemafaira ekugadzirisa akawanda.

Source: opennet.ru

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster