ForgeZero 1.9.0 (fz), เปเบเบทเปเบญเบเบกเบทเบชเปเบฒเบเปเบเบ command-line เบชเบณเบฅเบฑเบเปเบเบเบเบฒเบเบเบตเปเบเบฝเบเบเปเบงเบเบเบฒเบชเบฒ C, C++, เปเบฅเบฐเบเบฒเบชเบฒ assembly (NASM, GAS, FASM), เปเบเปเบเบทเบเบเปเบญเบเบญเบญเบเบกเบฒเปเบฅเปเบง. เปเบเบทเปเบญเบเบกเบทเบเบฑเปเบเบเปเบฒเบงเบเปเปเบเปเบญเบเบเบฒเบ Makefile เบซเบผเบทเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบญเบทเปเบเปเบชเบณเบฅเบฑเบเบเบฒเบเบเบณเปเบเปเบเบทเปเบเบเบฒเบ. เบฅเบฐเบซเบฑเบเปเบเบเบเบฒเบเบเบทเบเบเบฝเบเบเปเบงเบเบเบฒเบชเบฒ Go เปเบฅเบฐเปเบเปเบฎเบฑเบเบญเบฐเบเบธเบเบฒเบเบเบฒเบเปเบเปเปเบเบญเบฐเบเบธเบเบฒเบ MIT.
ForgeZero เบเบงเบเบเบปเบเบเบฐเปเบเบเปเบเบฅเป เปเบฅเบฐ เปเบฅเบทเบญเบ backend เบเบตเปเปเปเบฒเบฐเบชเบปเบกเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เปเบเบฅเปเบฅเบฐเบซเบฑเบเปเบเปเบฅเบฐเปเบเบฅเปเบเบทเบเบฅเบงเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเปเบเบฅเปเบงเบฑเบเบเบธ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเบชเบญเบเบชเบฑเบเบเบฒเบฅเบฑเบเบเบปเปเบงเปเบฅเบเบเบตเปเบเปเปเบฒเบเบฑเบเปเบเบเบปเปเบงเบเบธเบเบงเบฑเบเบเบธ เปเบฅเบฐ เปเบเบทเปเบญเบกเปเบเบเปเบเบปเปเบฒเปเบเปเบเบฅเปเบเบตเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบเบฝเบง. เปเบเบฅเปเบเบตเปเบเบทเบเบฅเบงเบเบฅเบงเบกเบเบฐเบเบทเบเปเบเบฑเบเปเบงเปเบเบปเปเบงเบเบฒเบง เปเบฅเบฐ เบฅเบงเบเบฅเบงเบกเบเบทเบเปเปเปเบซเบผเบฑเบเบเบฒเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเปเปเปเบเบฅเปเบฅเบฐเบซเบฑเบเบเบตเปเบเปเบฝเบงเบเปเบญเบ. เบเบฒเบเปเบฅเบทเบญเบเบญเบทเปเบ, เบเบฒเบเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบเบฅเบฐเบเบปเบเปเบเบฅเป เปเบฅเบฐ เบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบทเบเปเปเปเปเบกเปเบเปเบเบฑเบเปเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบญเบฑเบเปเบเบเปเบเบฅเปเบฅเบฐเบซเบฑเบ.
เบเบปเบงเบเบญเบกเปเบเปเบฅเบตเบเบตเปเบฎเบญเบเบฎเบฑเบเปเบกเปเบ GCC, Clang, G++, เปเบฅเบฐ Clang++; เบเบปเบงเบเบฐเบเบญเบเปเบกเปเบ NASM, GAS, เปเบฅเบฐ FASM; เบเบปเบงเปเบเบทเปเบญเบกเบเปเปเปเบกเปเบ LD, GCC, เปเบฅเบฐ Clang; เปเบฅเบฐเบเบปเบงเปเบเบฑเบเบเปเปเบกเบนเบ AR เปเบกเปเบเบฎเบญเบเบฎเบฑเบ. เบเบณเปเบเบทเบญเบเบเบตเปเบเบฑเบเบเบฑเบเบชเบณเบฅเบฑเบ C เปเบฅเบฐ C++ เปเบกเปเบ: "-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion". เบเบปเบงเบเปเบฒเปเบเบทเปเบญ AddressSanitizer เปเบฅเบฐ UndefinedBehaviorSanitizer เบเบทเบเปเบเบตเบเปเบเปเบเบฒเบเบเบฒเบกเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ (เบเบงเบเบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเบดเบเปเบเปเบเบฒเบเปเบเปเบเปเบงเบเบเบธเบ -sanitize=false). เปเบเบฅเบเบเบญเบกเบเบตเปเบฎเบญเบเบฎเบฑเบเปเบกเปเบ: Linux, macOS, Windows (WSL2 เปเบฅเบฐ เปเบเบฑเบเปเบเบเบเบทเปเบเปเบกเบทเบญเบเบเบปเบเบฅเบญเบ).
เบเบฒเบโเบเปเบฝเบโเปเบเบโเบเบปเปเบโเบเปโเปเบโเบชเบฐโเบเบฑเบ 1.9.0โ:
- เปเบเบตเปเบกเบเบธเบ "-target" เปเบฅเปเบง , เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบชเบฒเบกเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเบฒเบกเบชเบณเบฅเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเบณเปเบเปเบเปเบงเบเปเบเบทเปเบญเบเบกเบทเบเบณเบเบณเปเปเบฒเบเบตเปเปเปเบฒเบฐเบชเบปเบก. fz เบเบฐเบเบณเบเบปเบเบเบทเปเบเบญเบเบเบญเบกเปเบเปเบฅเบต, เบเบปเบงเปเบเบทเปเบญเบกเบเปเป, เปเบฅเบฐ เบเบปเบงเปเบเบฑเบเบเปเปเบกเบนเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเบญเบตเบเปเบชเปเบเบปเบงเบฅเบฐเบเบธเบเบตเปเบฅเบฐเบเบธเปเบงเป (เปเบเบฑเปเบ "arm-linux-gnuebihf-gcc"). เปเบเบฅเบเบเบญเบกเปเบเบปเปเบฒเปเบฒเบ GNU เบกเบฒเบเบเบฐเบเบฒเบเบเบฑเบเปเบปเบเปเบกเปเบเปเบเปเบฎเบฑเบเบเบฒเบเบฎเบญเบเบฎเบฑเบ, เบฅเบงเบกเบเบฑเบ arm-linux-gnuebihf, aarch64-linux-gnu, เปเบฅเบฐ riscv64-linux-gnu.
- เบเบฒเบเบฎเบญเบเบฎเบฑเบเปเบเปเบเบเบญเบเปเบเบตเบเปเบงเบตเบเบฒเบชเบฒ (LSP) เปเบเปเบเบทเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเปเบฅเปเบง. เบเบธเบ "-compile-commands" เบชเปเบฒเบเปเบเบฅเป compile_commands.json (เบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบฅเบงเบเบฅเบงเบก) เปเบเบฎเบฒเบเบเบญเบเปเบเบเบเบฒเบ. เปเบเบฅเปเบเบทเบเบญเปเบฒเบเบเบฒเบกเบเบฒเบชเบฒ เปเบเบตเบเปเบงเบต clangd เปเบฅเบฐ ccls, เปเบซเปเบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฒเบเบเบณเบเบฒเบเบฅเบฐเบซเบฑเบ, เปเบฅเบฐ เบเบฒเบเบงเบดเบเบดเบเปเบชเปเบเบเบฑเบเบเบฒเบเบดเบเบฒเบเบเบตเปเบฎเบญเบเบฎเบฑเบ LSP (Neovim, VSCode, CLion, Emacs, เปเบฅเบฐเบญเบทเปเบเป).
- เบเบณเบชเบฑเปเบ fz "-update" เบเบญเบเบเบตเปเบเบฐเบเบฑเบเบเบถเบเปเบเบเบฒเบฃเบตเบเบฑเบเบเบธเบเบฑเบเปเบงเปเปเบ /usr/local/bin/fz.old เบเปเบญเบเบเบตเปเบเบฐเบเบดเบเบเบฑเปเบเปเบงเบตเบเบฑเบเปเปเป, เปเบเบดเปเบเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเบเบทเบเปเบเปเบเปเปเบงเบตเบเบฑเบเบเปเบญเบเปเปเบฒเบเบตเปเปเบเปเปเบเบเบเปเปเบเปเบญเบเบเบดเบเบเบฑเปเบเบเบทเบเปเปเป.
- เปเบเปเปเบเบเปเปเบเบดเบเบเบฒเบเปเบเปเบเบเบเบฒเบเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเปเบเบฅเปเบเบตเปเบกเบตเบเบทเปเบเบฒเบเบเบทเบเบฑเบเบเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเปเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบฐเบเบฝเบเบเบฑเบเปเบเบฅเปเบงเบฑเบเบเบธเบเบญเบเบเบฑเบเปเบฅเบฐเบเบฑเบ. เบเบทเปเปเบเบฅเปเบงเบฑเบเบเบธเปเบเบเบฑเบเบเบธเบเบฑเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเบเบญเบตเบเปเบชเปเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบเบฑเบกเปเบเบซเบฒเปเบเบฅเปเปเบซเบผเปเบเบเปเปเบกเบนเบ.
- เบเบฐเบเบดเบเบฑเบเปเปเบเปเบเปเบเบญเบ "fz -shell" เบชเบณเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเปเบเบฅเปเบเปเบฝเบง.
- เบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒเบกเบฒเบชเบณเบฅเบฑเบเบเบณเบชเบฑเปเบ SplitCommand, CmdSet, เปเบฅเบฐ CmdBuild. เบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบเบชเบณเบฅเบฑเบเปเบเบฑเบเปเบเบ linker เปเบเปเปเบเบตเปเบกเบเบถเปเบเบเบฒเบ 17% เปเบเบฑเบ 60%, เปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบชเบณเบฅเบฑเบเปเบเบฑเบเปเบเบเบเบฑเบเปเบปเบเปเบเปเปเบเบตเบ 40%.
- เปเบเปเปเบเบตเปเบกเบเบปเบเปเบเบเบฒเบเบเบปเบเปเบเบ CheckTool เบชเบณเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบกเบตเบญเบปเบเบเบฐเบเบญเบ toolchain เบเบตเปเบเบฒเบเบซเบฒเบเปเบ.
เบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบเบเบฒเบเบเปเบญเบเบเปเบญเบเปเปเบฒเบเบตเป:
- เปเบงเบตเบเบฑเบ 1.8.0 เบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฐเบเบญเบเบเบญเบเบซเปเบญเบเบชเบฐเปเบธเบเบเบปเบเบเบตเป (-type static / -lib), เบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบเบญเบเบเบทเปเปเบเบฅเปเบงเบฑเบเบเบธเปเบเปเบเบเบเบฒเบเบซเบผเบฒเบเบเบนเปเบญเบณเบเบงเบเบเบฒเบ, เปเบฅเบฐเปเบเปเปเบเบเปเปเบเบดเบเบเบฒเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเบเบญเบเบเบฒเบเบเบฐเบเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเปเบฒเบกเปเบชเบฑเปเบเบเบฒเบ "..".
- เปเบงเบตเบเบฑเบ 1.7.0 เปเบเบตเปเบกเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบเบเบเบฐเปเบฒเบ (-j N, 0 โ เบเบฒเบเบเบงเบเบเบฑเบเบเบณเบเบงเบเปเบเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ), เบฎเบญเบเบฎเบฑเบเบชเบฐเบเบฃเบดเบเบฅเบดเปเบ (-T) เปเบฅเบฐเบเบตเปเบขเบนเปเบเบธเบเปเบเบปเปเบฒ (-Ttext), เปเปเบเปเบเปเบเบญเบ (fz -shell), เบเบฒเบเปเบฅเบทเบญเบเบฎเบนเบเปเบเบเบเบปเบเบเบฐเบฅเบดเบเบขเปเบฒเบเบเบฑเบเปเบเบ (elf32, elf64, bin), เบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบเบฅเป C++ (.cpp, .cc, .cxx) เบเปเบงเบเบเบธเบเปเบเบทเบญเบเบเบตเปเปเบเบฑเปเบกเบเบงเบเบเบทเบเบฑเบเบเบฑเบ C.
- เปเบงเบตเบเบฑเบ 1.6.0 เปเบเบตเปเบกเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเบเบฒเบ (fz -init, เบชเปเบฒเบ .fz.yaml, .fzignore, README.md), เบฎเบญเบเบฎเบฑเบเบฎเบนเบเปเบเบ bin (-format bin) เบชเบณเบฅเบฑเบ bootloaders เปเบฅเบฐ firmware, เปเบฅเบฐ fields เบเบฒเบเบเบฑเปเบเบเปเบฒ libs, flags.cc, flags.asm, flags.ld.
- เปเบงเบตเบเบฑเบ 1.5.0 เปเบเบฐเบเบณเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบซเบผเปเบเบเปเปเบกเบนเบ (source_dirs), เบฅเบฒเบเบเบทเปเปเบเบฅเปเบเบตเปเบเบฑเบเปเบเบ (source_files), เบฎเบนเบเปเบเบเบเบฒเบเบฅเบงเบก/เบเบปเบเปเบงเบฑเปเบ, เบเบฒเบเบชเบฐเปเบฒเบก libs เบชเบณเบฅเบฑเบเบซเปเบญเบเบชเบฐเปเบธเบ linker, เปเบเบฅเป .fzignore, เปเบฅเบฐเบเบฒเบเบฅเบงเบกเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบซเบผเบฒเบเบฅเบฐเบเบฑเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru
