فورجي زيرو 1.9.0 جو رليز، سي ۽ اسمبلر لاءِ هڪ بلڊ ٽول

ForgeZero 1.9.0 (fz)، C، C++، ۽ اسيمبلي ٻولين (NASM، GAS، FASM) ۾ لکيل منصوبن لاءِ هڪ ڪمانڊ لائن بلڊ ٽول، جاري ڪيو ويو آهي. ٽول کي بنيادي استعمال لاءِ ميڪ فائل يا ٻين ترتيب واري فائلن جي ضرورت ناهي. پروجيڪٽ ڪوڊ Go ۾ لکيل آهي ۽ MIT لائسنس تحت لائسنس يافته آهي.

ForgeZero فائل جي قسم کي ڳولي ٿو ۽ خودڪار طريقي سان مناسب پس منظر چونڊيندو آهي. هر ڪوڊ فائل کي هڪ آبجيڪٽ فائل ۾ مرتب ڪيو ويندو آهي، پوءِ سڀني آبجيڪٽس ۾ نقل ٿيل عالمي علامتن جي جانچ ڪئي ويندي آهي ۽ هڪ واحد ايگزيڪيوٽو فائل ۾ ڳنڍيل هوندي آهي. مرتب ڪيل فائلون ڪيش ڪيون وينديون آهن ۽ لاڳاپيل ڪوڊ فائلن ۾ تبديليون ڪرڻ کان پوءِ ئي ٻيهر مرتب ڪيون وينديون آهن. اختياري طور تي، ڪوڊ فائل اپڊيٽ کان پوءِ فائل سسٽم ۾ تبديلي جي ٽريڪنگ ۽ ٻيهر مرتب ڪرڻ ممڪن آهي.

سپورٽ ٿيل ڪمپائلر GCC، Clang، G++، ۽ Clang++ آهن؛ اسمبلرز NASM، GAS، ۽ FASM آهن؛ لنڪر LD، GCC، ۽ Clang آهن؛ ۽ AR آرڪائيور سپورٽ ٿيل آهي. C ۽ C++ لاءِ لازمي ڊيڄاريندڙ آهن: "-Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion". ايڊريس سينٽائيزر ۽ غير وضاحت ٿيل رويي سينٽائيزر سينٽائيزر ڊفالٽ طور فعال آهن (انهن کي -sanitize=false پرچم سان غير فعال ڪري سگهجي ٿو). سپورٽ ٿيل پليٽ فارم آهن: Linux, macOS, Windows (WSL2 ۽ تجرباتي طور تي اصلي).

ورجن 1.9.0 ۾ مکيه تبديليون:

  • "-target" جهنڊو شامل ڪيو ويو ، جيڪو ڪنهن به آرڪيٽيڪچر لاءِ مناسب پريفڪس ٽولز سان ڪراس ڪمپائليشن کي فعال بڻائي ٿو. fz خودڪار طريقي سان ڪمپائلر، لنڪر، ۽ آرڪائيور جا نالا مخصوص سڃاڻپ ڪندڙ جي بنياد تي طئي ڪري ٿو (مثال طور، "arm-linux-gnueabihf-gcc"). سڀ معياري GNU ٽارگيٽ پليٽ فارم سپورٽ ٿيل آهن، جن ۾ arm-linux-gnueabihf، aarch64-linux-gnu، ۽ riscv64-linux-gnu شامل آهن.
  • ٻولي سرور پروٽوڪول (LSP) لاءِ سپورٽ لاڳو ڪئي وئي آهي. "-compile-commands" جھنڊو پروجيڪٽ روٽ ۾ هڪ compile_commands.json (ڪمپائليشن ڊيٽابيس) فائل ٺاهي ٿو. فائل ٻولي ذريعي پڙهي ويندي آهي. سرور ڪلانگڊ ۽ سي سي ايل، جيڪي ايڊيٽرن ۾ خودڪار مڪمل ڪرڻ، ڪوڊ نيويگيشن، ۽ تشخيص فراهم ڪن ٿا جيڪي ايل ايس پي (نيووم، وي ايس ڪوڊ، ڪليون، ايميڪس، وغيره) کي سپورٽ ڪن ٿا.
  • fz "-update" ڪمانڊ هاڻي موجوده بائنري کي /usr/local/bin/fz.old ۾ محفوظ ڪري ٿو نئون ورجن انسٽال ڪرڻ کان اڳ، توهان کي ٻيهر انسٽال ڪرڻ کان سواءِ پوئين ورجن ڏانهن واپس وڃڻ جي اجازت ڏئي ٿو.
  • ملٽي ڊاريڪٽري پروجيڪٽس ۾ هڪ بگ کي درست ڪيو ويو آهي جتي مختلف سب ڊاريڪٽريز مان هڪجهڙا بنيادي نالا رکندڙ فائلون هڪ ٻئي جي آبجيڪٽ فائلن کي اوور رائٽ ڪنديون هيون. آبجيڪٽ فائل جا نالا هاڻي سورس فائل جي مڪمل لاڳاپيل رستي جي بنياد تي ٺاهيا ويا آهن.
  • سنگل فائلن جي تعمير لاءِ انٽرايڪٽو موڊ "fz -shell" لاڳو ڪيو ويو.
  • اسپلٽ ڪمانڊ، سي ايم ڊي سيٽ، ۽ سي ايم ڊي بلڊ ڪمانڊ لاءِ ٽيسٽ ڪوريج شامل ڪئي وئي آهي. لنڪر پيڪيج لاءِ ٽيسٽ ڪوريج 17٪ کان وڌي 60٪ ٿي وئي آهي، ۽ سڀني پيڪيجز لاءِ ڪوريج 40٪ کان وڌي وئي آهي.
  • ٽول چين جي اجزاء جي کوٽ سان جانچ جي منظرنامي لاءِ چيڪ ٽول جي متبادل جو طريقو شامل ڪيو ويو.

پوئين رليز کان تبديليون:

  • نسخو 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 ٺاهي ٿو)، بوٽ لوڊرز ۽ فرم ويئر لاءِ بن فارميٽ سپورٽ (-فارميٽ بن)، ۽ ترتيب جا شعبا libs، flags.cc، flags.asm، flags.ld شامل ڪري ٿو.
  • نسخو 1.5.0 گھڻن سورس ڊائريڪٽريز (source_dirs)، واضح فائل لسٽون (source_files)، شامل/خارج ٿيل نمونا، لنڪر لائبريرين لاءِ هڪ libs فيلڊ، .fzignore فائل، ۽ ترتيب فائلن جي گھڻ-سطح جي ضم کي متعارف ڪرائي ٿو.

جو ذريعو: opennet.ru

DDoS تحفظ سان سائيٽن لاءِ قابل اعتماد هوسٽنگ خريد ڪريو، VPS VDS سرور 🔥 DDoS تحفظ سان قابل اعتماد ويب سائيٽ هوسٽنگ خريد ڪريو، VPS VDS سرورز | ProHoster