Útgáfa af ForgeZero 1.9.0, smíðatóli fyrir C og samsetningarforrit

ForgeZero 1.9.0 (fz), skipanalínutól fyrir verkefni skrifuð í C, C++ og samsetningarmálum (NASM, GAS, FASM), hefur verið gefið út. Tólið þarfnast ekki Makefile eða annarra stillingarskráa fyrir grunnnotkun. Verkefnakóðinn er skrifaður í Go og er leyfisbundinn samkvæmt MIT leyfinu.

ForgeZero greinir skráargerðina og velur sjálfkrafa viðeigandi bakenda. Hver kóðaskrá er þýdd í hlutaskrá, síðan athugað hvort tvíteknar alþjóðlegar tákn séu fyrir alla hluti og tengd í eina keyrsluskrá. Þýddar skrár eru vistaðar í skyndiminni og endurþýddar aðeins eftir að breytingar hafa verið gerðar á tengdum kóðaskrám. Valfrjálst er að fylgjast með breytingum á skráarkerfinu og endurþýða eftir uppfærslur á kóðaskrám.

Þýðendurnir sem eru studdir eru GCC, Clang, G++ og Clang++; samsetningarforritin eru NASM, GAS og FASM; tenglar eru LD, GCC og Clang; og AR skjalavörnin er studd. Skyldubundnar viðvaranir fyrir C og C++ eru: "-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion". Hreinsunarforritin AddressSanitizer og UndefinedBehaviorSanitizer eru sjálfgefin virk (hægt er að slökkva á þeim með flagginu -sanitize=false). Stuðningskerfin eru: Linux, macOS, Windows (WSL2 og tilraunakennt).

Helstu breytingar á útgáfu 1.9.0:

  • Bætti við „-target“ flaggi , sem gerir kleift að gera krossþýðingu fyrir hvaða arkitektúr sem er með viðeigandi forskeytaverkfærum. fz ákvarðar sjálfkrafa nöfn þýðandans, tengilsins og skjalasafnarans út frá tilgreindum auðkenni (t.d. "arm-linux-gnueabihf-gcc"). Öll stöðluð GNU markmiðskerfi eru studd, þar á meðal arm-linux-gnueabihf, aarch64-linux-gnu og riscv64-linux-gnu.
  • Stuðningur við Language Server Protocol (LSP) hefur verið innleiddur. Fáninn "-compile-commands" býr til compile_commands.json skrá (Compilation Database) í rót verkefnisins. Skráin er lesin af tungumálinu. netþjónar clangd og ccls, sem bjóða upp á sjálfvirka útfyllingu, kóðaleiðsögn og greiningar í ritlum sem styðja LSP (Neovim, VSCode, CLion, Emacs, o.s.frv.).
  • Skipunin fz "-update" vistar nú núverandi tvíundarskrá í /usr/local/bin/fz.old áður en ný útgáfa er sett upp, sem gerir þér kleift að snúa aftur til fyrri útgáfu án þess að setja hana upp aftur.
  • Lagfærði villu í verkefnum með mörgum möppum þar sem skrár með eins grunnnöfnum úr mismunandi undirmöppum yfirskrifuðu hlutaskrár hver annarrar. Hlutskráarnöfn eru nú búin til út frá fullri hlutfallslegri slóð að frumskránni.
  • Útfærði gagnvirka stillinguna "fz -shell" til að búa til stakar skrár.
  • Prófunarþekjan hefur verið bætt við fyrir SplitCommand, CmdSet og CmdBuild skipanirnar. Prófunarþekjan fyrir tengipakkann hefur aukist úr 17% í 60% og þekjan fyrir alla pakka hefur farið yfir 40%.
  • Bætti við CheckTool skiptikerfi fyrir prófunaraðstæður þar sem íhlutir í verkfærakeðjunni vantar.

Breytingar frá fyrri útgáfum:

  • Útgáfa 1.8.0 útfærir samsetningu kyrrstæðra bókasafna (-type static / -lib), tryggir einstökheiti skráarheita hluta í verkefnum með mörgum stýrikerfum og lagar villur í samsetningarkerfinu sem tengjast ferðinni yfir slóðina "..".
  • Útgáfa 1.7.0 bætir við samsíða þýðingu (-j N, 0 — sjálfvirk greining á fjölda kjarna), stuðningi við tengiforrit (-T) og aðgangspunktsföng (-Ttext), gagnvirkum ham (fz -shell), nákvæmu vali á úttakssniði (elf32, elf64, bin), þýðingu C++ skráa (.cpp, .cc, .cxx) með sömu ströngu viðvörunarfánum og fyrir C.
  • Útgáfa 1.6.0 bætir við frumstillingu verkefnis (fz -init, býr til .fz.yaml, .fzignore, README.md), stuðningi við bin snið (-format bin) fyrir ræsiforrit og vélbúnað, og stillingarreitum libs, flags.cc, flags.asm, flags.ld.
  • Útgáfa 1.5.0 kynnir margar frumskrár (source_dirs), skýra skráalista (source_files), innifals-/útilokunarmynstur, libs-reit fyrir tengisöfn, .fzignore skrána og margstigs sameiningu stillingarskráa.

Heimild: opennet.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster