C рдЖрдгрд┐ рдЕрд╕реЗрдореНрдмрд▓рд░рд╕рд╛рдареА рдмрд┐рд▓реНрдб рдЯреВрд▓ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ ForgeZero 1.9.0 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди.

C, C++, рдЖрдгрд┐ рдЕрд╕реЗрдореНрдмреНрд▓реА рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ (NASM, GAS, FASM) рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА ForgeZero 1.9.0 (fz) рдирд╛рд╡рд╛рдЪреЗ рдПрдХ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдмрд┐рд▓реНрдб рдЯреВрд▓ рдкреНрд░рд╕рд┐рджреНрдз рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ. рдпрд╛ рдЯреВрд▓рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдореЗрдХрдлрд╛рдЗрд▓ (Makefile) рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рдХреЛрдб 'Go' рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЕрд╕реВрди рддреЛ рдПрдордЖрдпрдЯреА (MIT) рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдЖрд╣реЗ.

рдлреЛрд░реНрдЬрдЭрд┐рд░реЛ рдлрд╛рдИрд▓рдЪрд╛ рдкреНрд░рдХрд╛рд░ рдУрд│рдЦрддреЛ рдЖрдгрд┐ рдЖрдкреЛрдЖрдк рдпреЛрдЧреНрдп рдмреЕрдХрдПрдВрдб рдирд┐рд╡рдбрддреЛ. рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдлрд╛рдИрд▓ рдПрдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╛рдИрд▓рдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ, рддреНрдпрд╛рдирдВрддрд░ рд╕рд░реНрд╡ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдордзреАрд▓ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЧреНрд▓реЛрдмрд▓ рд╕рд┐рдореНрдмреЙрд▓реНрд╕рд╕рд╛рдареА рддрдкрд╛рд╕рд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдПрдХрд╛рдЪ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдИрд▓рдордзреНрдпреЗ рд▓рд┐рдВрдХ рдХреЗрд▓реА рдЬрд╛рддреЗ. рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдИрд▓реНрд╕ рдХреЕрд╢ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдлрд╛рдИрд▓реНрд╕рдордзреНрдпреЗ рдмрджрд▓ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░рдЪ рддреНрдпрд╛ рдкреБрдиреНрд╣рд╛ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рд╡реИрдХрд▓реНрдкрд┐рдХрд░рд┐рддреНрдпрд╛, рдХреЛрдб рдлрд╛рдИрд▓ рдЕрдкрдбреЗрдЯ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рдлрд╛рдИрд▓ рд╕рд┐рд╕реНрдЯреАрдордордзреАрд▓ рдмрджрд▓рд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдгреЗ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рд╕рдВрдХрд▓рди рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.

рд╕рдорд░реНрдерд┐рдд рдХрдВрдкрд╛рдпрд▓рд░реНрд╕ 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 рдЖрдгрд┐ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХрд░рд┐рддреНрдпрд╛ рдиреЗрдЯрд┐рд╡реНрд╣).

рдЖрд╡реГрддреНрддреА рез.рей.реж рдордзреАрд▓ рдореБрдЦреНрдп рдмрджрд▓:

  • "-target" рдлреНрд▓реЕрдЧ рдЬреЛрдбрд▓рд╛ рдЬреЗ рдпреЛрдЧреНрдп рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рд╛рдзрдирд╛рдВрд╕рд╣ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдпрд▓реЗрд╢рди рд╕рдХреНрд╖рдо рдХрд░рддреЗ. fz рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░рдЪреНрдпрд╛ (рдЙрджрд╛., "arm-linux-gnueabihf-gcc") рдЖрдзрд╛рд░рд╛рд╡рд░ рдХрдВрдкрд╛рдпрд▓рд░, рд▓рд┐рдВрдХрд░ рдЖрдгрд┐ рдЖрд░реНрдХрд╛рдпрд╡реНрд╣рд░рдЪреА рдирд╛рд╡реЗ рдЖрдкреЛрдЖрдк рдард░рд╡рддреЗ. arm-linux-gnueabihf, aarch64-linux-gnu, рдЖрдгрд┐ riscv64-linux-gnu рд╕рд╣ рд╕рд░реНрд╡ рдорд╛рдирдХ 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 рдХрдорд╛рдВрдбреНрд╕рд╕рд╛рдареА рдЯреЗрд╕реНрдЯ рдХрд╡реНрд╣рд░реЗрдЬ рдЬреЛрдбрдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ. рд▓рд┐рдВрдХрд░ рдкреЕрдХреЗрдЬрд╕рд╛рдареА рдЯреЗрд╕реНрдЯ рдХрд╡реНрд╣рд░реЗрдЬ резрен% рд╡рд░реВрди ремреж% рдкрд░реНрдпрдВрдд рд╡рд╛рдврд▓реЗ рдЖрд╣реЗ, рдЖрдгрд┐ рд╕рд░реНрд╡ рдкреЕрдХреЗрдЬреЗрд╕рдЪреЗ рдХрд╡реНрд╣рд░реЗрдЬ рекреж% рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЭрд╛рд▓реЗ рдЖрд╣реЗ.
  • рдЯреВрд▓рдЪреЗрдирдЪреЗ рдШрдЯрдХ рдЧрд╣рд╛рд│ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдЪреА рдЪрд╛рдЪрдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЪреЗрдХ рдЯреВрд▓ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ.

рдорд╛рдЧреАрд▓ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреАрд▓ рдмрджрд▓:

  • рдЖрд╡реГрддреНрддреА 1.8.0 рд╕реНрдЯреЕрдЯрд┐рдХ рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреЗ рдЕрд╕реЗрдореНрдмреНрд▓реА (-type static / -lib) рд▓рд╛рдЧреВ рдХрд░рддреЗ, рдорд▓реНрдЯреА-рдбрд╛рдпрд░реЗрдХреНрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓ рдирд╛рд╡рд╛рдВрдЪреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ ".." рдкрд╛рдердЪреНрдпрд╛ рдЯреНрд░реЕрд╡реНрд╣рд░реНрд╕рд▓рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕реЗрдореНрдмреНрд▓реА рд╕рдмрд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рддреНрд░реБрдЯреА рджреБрд░реБрд╕реНрдд рдХрд░рддреЗ.
  • рдЖрд╡реГрддреНрддреА 1.7.0 рдордзреНрдпреЗ рд╕рдорд╛рдВрддрд░ рд╕рдВрдХрд▓рди (-j N, 0 тАФ рдХреЛрдЕрд░рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рд╢реЛрдз), рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (-T) рдЖрдгрд┐ рдПрдиреНрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рдЕреЕрдбреНрд░реЗрд╕ (-Ttext) рд╕рд╛рдареА рд╕рдорд░реНрдерди, рдЗрдВрдЯрд░реЕрдХреНрдЯрд┐рд╡реНрд╣ рдореЛрдб (fz -shell), рдЖрдЙрдЯрдкреБрдЯ рдлреЙрд░рдореЕрдЯрдЪреА рд╕реНрдкрд╖реНрдЯ рдирд┐рд╡рдб (elf32, elf64, bin), C рдкреНрд░рдорд╛рдгреЗрдЪ рдХрдареЛрд░ рдЪреЗрддрд╛рд╡рдгреА рдзреНрд╡рдЬрд╛рдВрд╕рд╣ C++ рдлрд╛рдЗрд▓реНрд╕рдЪреЗ (.cpp, .cc, .cxx) рд╕рдВрдХрд▓рди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
  • рдЖрд╡реГрддреНрддреА 1.6.0 рдордзреНрдпреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди (fz -init, .fz.yaml, .fzignore, README.md рддрдпрд╛рд░ рдХрд░рдгреЗ), рдмреВрдЯрд▓реЛрдбрд░ рдЖрдгрд┐ рдлрд░реНрдорд╡реЗрдЕрд░рд╕рд╛рдареА рдмрд┐рди рдлреЙрд░рдореЕрдЯ рд╕рдкреЛрд░реНрдЯ (-format bin), рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлреАрд▓реНрдбреНрд╕ libs, flags.cc, flags.asm, flags.ld рдЬреЛрдбрдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗрдд.
  • рдЖрд╡реГрддреНрддреА 1.5.0 рдордзреНрдпреЗ рдПрдХрд╛рдзрд┐рдХ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (source_dirs), рд╕реНрдкрд╖реНрдЯ рдлрд╛рдЗрд▓ рд╕реВрдЪреА (source_files), рд╕рдорд╛рд╡рд┐рд╖реНрдЯ/рд╡рдЧрд│рдгреНрдпрд╛рдЪреЗ рдирдореБрдиреЗ, рд▓рд┐рдВрдХрд░ рд▓рд╛рдпрдмреНрд░рд░реАрд╕рд╛рдареА libs рдлреАрд▓реНрдб, .fzignore рдлрд╛рдЗрд▓ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕рдЪреЗ рдмрд╣реБ-рд╕реНрддрд░реАрдп рд╡рд┐рд▓реАрдиреАрдХрд░рдг рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

DDoS рд╕рдВрд░рдХреНрд╖рдг, VPS VDS рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реЗрджреА рдХрд░рд╛ ЁЯФе рдбреАрдбреЙрд╕ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╡реНрд╣реАрдкреАрдПрд╕ (VPS) рд╡реНрд╣реАрдбреАрдПрд╕ (VDS) рд╕рд░реНрд╡реНрд╣рд░реНрд╕ рдЦрд░реЗрджреА рдХрд░рд╛ | ProHoster