แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ ForgeZero 1.9.0 แžŠแŸ‚แž›แž‡แžถแžงแž”แž€แžšแžŽแŸแž”แž„แŸ’แž€แžพแžแžŸแž˜แŸ’แžšแžถแž”แŸ‹ C แž“แžทแž„ assembler

ForgeZero 1.9.0 (fz) แžŠแŸ‚แž›แž‡แžถแžงแž”แž€แžšแžŽแŸแž”แž„แŸ’แž€แžพแžแž”แž“แŸ’แž‘แžถแžแŸ‹แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แž˜แŸ’แžšแŸ„แž„แžŠแŸ‚แž›แžŸแžšแžŸแŸแžšแž‡แžถแž—แžถแžŸแžถ C, C++ แž“แžทแž„แž—แžถแžŸแžถ assembly (NASM, GAS, FASM) แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แž แžพแž™แŸ” แžงแž”แž€แžšแžŽแŸแž“แŸแŸ‡แž˜แžทแž“แžแž˜แŸ’แžšแžผแžœแžฑแŸ’แž™แž˜แžถแž“ Makefile แžฌแžฏแž€แžŸแžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž‡แžถแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แŸแŸ” แž€แžผแžŠแž‚แž˜แŸ’แžšแŸ„แž„แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถแž—แžถแžŸแžถ Go แž แžพแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽแž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ MITแŸ”

ForgeZero แžšแž€แžƒแžพแž‰แž”แŸ’แžšแž—แŸแž‘แžฏแž€แžŸแžถแžš แž แžพแž™แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแž•แŸ’แž“แŸ‚แž€แžแžถแž„แž€แŸ’แžšแŸ„แž™แžŠแŸ‚แž›แžŸแž˜แžŸแŸ’แžšแž”แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแŸ” แžฏแž€แžŸแžถแžšแž€แžผแžŠแž“แžธแž˜แžฝแž™แŸ—แžแŸ’แžšแžผแžœแž”แžถแž“แž…แž„แž€แŸ’แžšแž„แž‘แŸ…แž‡แžถแžฏแž€แžŸแžถแžšแžœแžแŸ’แžแžปแž˜แžฝแž™ แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แžแŸ’แžšแžผแžœแž”แžถแž“แž–แžทแž“แžทแžแŸ’แž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž“แžทแž˜แžทแžแŸ’แžแžŸแž‰แŸ’แž‰แžถแžŸแž€แž›แžŸแŸ’แž‘แžฝแž“แž“แŸ…แž‘แžผแž‘แžถแŸ†แž„แžœแžแŸ’แžแžปแž‘แžถแŸ†แž„แžขแžŸแŸ‹ แž แžพแž™แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ…แž€แŸ’แž“แžปแž„แžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“แžแŸ‚แž˜แžฝแž™แŸ” แžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แž”แžถแž“แž…แž„แž€แŸ’แžšแž„แžแŸ’แžšแžผแžœแž”แžถแž“แžšแž€แŸ’แžŸแžถแž‘แžปแž€แž€แŸ’แž“แžปแž„แžƒแŸ’แž›แžถแŸ†แž„แžŸแž˜แŸ’แž„แžถแžแŸ‹ แž“แžทแž„แž…แž„แž€แŸ’แžšแž„แžกแžพแž„แžœแžทแž‰ แž›แžปแŸ‡แžแŸ’แžšแžถแžแŸ‚แž˜แžถแž“แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž…แŸ†แž–แŸ„แŸ‡แžฏแž€แžŸแžถแžšแž€แžผแžŠแžŠแŸ‚แž›แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’แŸ” แž‡แžถแž‡แž˜แŸ’แžšแžพแžŸ แž€แžถแžšแžแžถแž˜แžŠแžถแž“แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžฏแž€แžŸแžถแžš แž“แžทแž„แž€แžถแžšแž…แž„แž€แŸ’แžšแž„แžกแžพแž„แžœแžทแž‰แžขแžถแž…แž’แŸ’แžœแžพแž‘แŸ…แž”แžถแž“แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž€แžถแžšแžขแžถแž”แŸ‹แžŠแŸแžแžฏแž€แžŸแžถแžšแž€แžผแžŠแŸ”

แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžšแž‚แžบ 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 แž“แžทแž„แžœแžถแž›แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ libs, flags.cc, flags.asm, flags.ldแŸ”
  • แž€แŸ†แžŽแŸ‚ 1.5.0 แžŽแŸ‚แž“แžถแŸ†แžแžแž”แŸ’แžšแž—แž–แž…แŸ’แžšแžพแž“ (source_dirs) แž”แž‰แŸ’แž‡แžธแžฏแž€แžŸแžถแžšแž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹ (source_files) แž›แŸ†แž“แžถแŸ†แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›/แžŠแž€แž…แŸแž‰ แžœแžถแž› libs แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แžŽแŸ’แžŽแžถแž›แŸแž™ linker แžฏแž€แžŸแžถแžš .fzignore แž“แžทแž„แž€แžถแžšแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถแž…แŸ’แžšแžพแž“แž€แž˜แŸ’แžšแžทแžแž“แŸƒแžฏแž€แžŸแžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž‘แžทแž‰แž€แžถแžšแž”แž„แŸ’แž แŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS, แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS ๐Ÿ”ฅ แž‘แžทแž‰แžŸแŸแžœแžถแž”แž„แŸ’แž แŸ„แŸ‡แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS | ProHoster