LLVM 17.0 איז שוין רעלעאַסעד און דאָס איז זייַן נייַעס

LLVM לאָגאָ

LLVM איז אַ פריימווערק פֿאַר דעוועלאָפּינג קאָמפּילערס און העלפּינג צו בויען נייַע פּראָגראַממינג שפּראַכן און פֿאַרבעסערן יגזיסטינג שפּראַכן.

נאָך זעקס חדשים פון אַנטוויקלונג די נייַע ווערסיע פון ​​LLVM 17.0 איז דערלאנגט, אין וואָס פאַרשידן ימפּרווומאַנץ, ענדערונגען, זשוק פיקסיז און, אויבן אַלע, פאַרשידן וויכטיק אַספּעקץ זענען ימפּלאַמענאַד אין Clang 17.0.

פֿאַר יענע וואָס זענען נישט באַקאַנט מיט LLVM, איר זאָל וויסן אַז דאָס איז אַ GCC קאַמפּאַטאַבאַל קאַמפּיילער (קאַמפּיילערז, אָפּטימיזערס און קאָד גענעראַטאָרס) וואָס קאַמפּיילז מגילה אין אַ RISC-ווי ווירטואַל לימעד ינטערמידייט ביטקאָוד (אַ נידעריק-מדרגה ווירטואַל מאַשין מיט אַ מולטילעוועל אַפּטאַמאַזיישאַן סיסטעם).

די דזשענערייטאַד פּסעוודאָקאָדע קענען זיין קאָנווערטעד דורך די JIT קאַמפּיילער אין מאַשין אינסטרוקציעס פּונקט אין דער צייט פון דורכפירונג פון די פּראָגראַם.

נייַע פֿעיִקייטן פון LLVM 17.0

אין דעם נייַע ווערסיע פון ​​LLVM 17.0 וואָס איז דערלאנגט, עס זענען פאַרשידן באַטייַטיק אַספּעקץ צו נעמען אין חשבון, פון וואָס זענען, למשל, די ימפּרווומאַנץ צו די X86 באַקענד, גוט האָט ער צוגעגעבןאָ שטיצן פֿאַר יקסטענשאַנז לימעד שטעלן אַרקאַטעקטשער ISA SHA512, ISA SM3, ISA SM4 און ISA AVX-VNNI-INT16.

אין דערצו צו דעם, עס אויך כיילייץ די ימפּרווומאַנץ אין באַקענד קייפּאַבילאַטיז פֿאַר אַרקאַטעקטשער RISC-V וואָס האָבן יקספּאַנדיד באטייטיק, זינט צוגעלייגט שטיצן פֿאַר די Sifive-x280 פּראַסעסער.

אן אנדער פון די ענדערונגען וואָס מיר קענען געפֿינען איז די ימפּלאַמענאַד שטיצן פֿאַר XTH פּראַסעסער יקסטענשאַנז*, ווי געזונט ווי קאַמפּאַטאַבילאַטי מיט יקסטענשאַנז LSX, LASX, LVZ און LBT ISA צו די באַקענד פון די LoongArch אַרקאַטעקטשער.

ימפּרוווד באַקענדז פֿאַר AArch64, ARM, WebAssembly, MIPS, PowerPC, AMDGPU אַרקאַטעקטשערז, יקספּאַנדיד LLD לינקער קייפּאַבילאַטיז און צוגעגעבן אַ נייַע "רעגיסטרירן אינפֿאָרמאַציע" באַפֿעל צו די LLDB דיבוגגער צו ווייַזן אַלע באַוווסט אינפֿאָרמאַציע וועגן אַ רעקאָרד.

וועגן די ימפּרווומאַנץ אין Clang 17.0, עס איז כיילייטיד אַז די פֿעיִקייטן דיפיינד אין דער צוקונפֿט C-סטאַנדאַרד C2x אַזאַ ווי די בול, static_assert, אַליינז, alignof און thread_local טערמינען זענען ימפּלאַמענאַד, ווי געזונט ווי די פיייקייט צו ספּעציפיצירן ליידיק קוואַדראַט בראַקאַץ «{ } » פֿאַר יניטיאַליזיישאַן צו נול וואַלועס.

די קאָדo C גיט די פיייקייַט צו פאָרויס די "גאָטאָ" אויסדרוק אין "אַסם" בלאַקס דורך מינאַצאַד אויסגעקליבן טאַגס, שטיצן איז צוגעגעבן פֿאַר אַ C פאַרלענגערונג וואָס אַלאַוז ניצן אַ טיפּ אַנשטאָט פון אַן אויסדרוק ווי דער ערשטער אָפּעראַנד אין "_גענעריק", אין אַדישאַן צו לאָזן קעסיידערדיק אויסדרוקן אין C שפּראַך צו נוצן סטראַקטשערז, יוניאַנז און ערייז דערקלערט מיט די "קאָנסט" אַטריביוט.

וועגן די ימפּרווומאַנץ שייַכות צו די C ++ 20 נאָרמאַל, עס איז דערמאנט אַז איצט אויף אַלע פּלאַטפאָרמס אַחוץ Windows, עס איז פול שטיצן פֿאַר Coroutines, אין דערצו, נאָך רעקווירעמענץ פֿאַר קעסיידערדיק אויסדרוק פאַרגלייַך אַפּעריישאַנז האָבן שוין ימפּלאַמענאַד.

עס איז אויך כיילייטיד אַז איצטריכטיק פּאַרסינג פון לאַמבדאַ טעמפּלאַטעס איז געראַנטיד ספּעסיפיעד מיד נאָך די מוסטער פּאַראַמעטערס און מיט אַ בייַטעוודיק מיט אַ אָפענגיק טיפּ אין די בלאָק. רעזערווירט די נוצן פון טאָפּל אַנדערקאָרז אין באַניצער ליטעראַל און דיסקערידזשד די נוצן פון די "אָפּעראַטאָר" קיווערד אין פונקציע זוך מיט רעזערווירט ידענטיפיערס אין דעם נאָמען

ווי די ימפּרווומאַנץ צו זיין געמאכט שייַכות צו די C ++ 23 נאָרמאַל , עס איז דערמאנט אַז עס איז אין די לעצט בינע פון ​​האַסקאָמע דורך ISO, זינט געביטן פאַרנעם פון לעצט צוריקקומען טיפּ אין לאַמבדאַ פאַנגקשאַנז צו קוקן אין די כוקס ערשטער און דעמאָלט די אַרומיק טעקסט.

פון די אנדערע ענדערונגען וואָס שטיין אויס:

  • צוגעגעבן די פיייקייט צו דעפינירן מולטידימענסיאָנאַל ערייז ניצן
  • ווען קאַמפּיילינג C ++ אַפּלאַקיישאַנז ניצן די "-O0" אַפּטאַמאַזיישאַן מאָדע, קאָד דזשענערייטינג פֿאַר קאַללס איז ימפּרוווד.
  • צוגעלייגט שטיצן פֿאַר די NO_COLOR סוויווע בייַטעוודיק צו דיסייבאַל רעזולטאַט קאָליר.
  • סטאַטיק אַנאַליסיס און דיאַגנאָסטיק מכשירים זענען באטייטיק יקספּאַנדיד, פֿאַר בייַשפּיל, נייַ געחתמעט ינטאַדזשער אָוווערפלאָו טשעקס, לאַמבדאַ מוסטער קערעקשאַן, קאָנסטעקספּר אויסדרוקן, נאַל טייַטל קאַמפּעראַסאַנז, נוצן פון אַנינישיאַלייזד סטראַקטשערז, אאז"ו ו.
  • די Libc ++ ביבליאָטעק האלט צו ינסטרומענט שטיצן פֿאַר די קייפּאַבילאַטיז פון די C ++ 20 און C ++ 23 סטאַנדאַרדס, און אַרבעט האט אויך אנגעהויבן צו צושטעלן שטיצן פֿאַר די C ++ 26 באַשרייַבונג.
  • צוגעגעבן שטיצן פֿאַר די אויסדרוק "ריקוויירז cplusplus23" אין דיסקריפּשאַנז פון קאַנעקשאַנז צווישן כעדער טעקעס און מאַדזשולז.

צום סוף, אויב איר זענט אינטערעסירט צו וויסן מער וועגן אים, איר קענט באַראַטנ זיך די דעטאַילס אין די ווייַטערדיק לינק.


דער אינהאַלט פון דעם אַרטיקל אַדכיר צו אונדזער פּרינציפּן פון לייט עטיקס. צו מעלדונג אַ טעות גיט דאָ.

זייט דער ערשטער צו באַמערקן

לאָזן דיין באַמערקונג

אייער בליצפּאָסט אַדרעס וועט נישט זייַן ארויס. Required fields זענען אנגעצייכנט מיט *

*

*

  1. פאַראַנטוואָרטלעך פֿאַר די דאַטן: AB Internet Networks 2008 SL
  2. ציל פון די דאַטן: קאָנטראָל ספּאַם, קאָמענטאַר פאַרוואַלטונג.
  3. לעגיטימאַטיאָן: דיין צושטימען
  4. קאָמוניקאַציע פון ​​די דאַטן: די דאַטן וועט נישט זיין קאַמיונאַקייטיד צו דריט פּאַרטיעס אַחוץ דורך לעגאַל פליכט.
  5. דאַטן סטאָרידזש: דאַטאַבייס כאָוסטיד דורך Occentus Networks (EU)
  6. רעכט: צו קיין צייט איר קענט באַגרענעצן, צוריקקריגן און ויסמעקן דיין אינפֿאָרמאַציע.