د لینکس کرنل 5.18 پلان لري چې د C ژبې معیاري C11 کارولو ته اجازه ورکړي

پداسې حال کې چې د لینک شوي لیست کوډ کې د سپیکٹر پورې اړوند ستونزو حل کولو لپاره د پیچونو سیټ په اړه بحث کول ، دا روښانه شوه چې ستونزه په ډیر ښه ډول حل کیدی شي که د C کوډ چې د معیاري نوي نسخې سره مطابقت ولري دانی ته اجازه ورکړل شوې وه. اوس مهال، اضافه شوي کرنل کوډ باید د ANSI C (C89) مشخصاتو سره مطابقت ولري، چې په 1989 کې جوړ شوی.

په کوډ کې د سپیکٹر پورې اړوند ستونزه د لوپ څخه وروسته د جلا تعریف شوي تکرار کونکي دوامداره کارولو له امله رامینځته شوې — یو میکرو د تړل شوي لیست عناصرو باندې تکرارولو لپاره کارول کیږي ، او ځکه چې لوپ تکرارونکی میکرو ته لیږدول کیږي ، دا دی پخپله د لوپ څخه بهر تعریف شوی او د لوپ وروسته شتون لري. د C99 معیاري کارول به د لوپ تغیراتو ته اجازه ورکړي چې په () بلاک کې تعریف شي ، کوم چې به پرته له دې چې د حل لارې سره راشي ستونزه حل کړي.

لینس توروالډز د نوي مشخصاتو لپاره د ملاتړ پلي کولو نظر سره موافقه وکړه او وړاندیز یې وکړ چې د C5.18 معیار کارولو لپاره د 11 کرنل حرکت وکړي چې په 2011 کې خپور شوی. د لومړني ازموینې په جریان کې ، په نوي حالت کې په GCC او کلینګ کې مجلس پرته له انحراف څخه تیر شو. که چیرې د ډیرې بشپړې ازموینې په جریان کې کومه غیر متوقع ستونزه رامینځته نشي، د 5.18 کرنل جوړونې سکریپټونو کې '-std=gnu89' اختیار به د '--std=gnu11 -Wno-shift-negative-value' سره بدل شي. د C17 معیاري کارولو امکان هم په پام کې نیول شوی و ، مګر پدې حالت کې به اړین وي چې د GCC لږترلږه ملاتړ شوي نسخه زیاته کړي. د C11 مالتړ شاملول د GCC نسخې (5.1) لپاره د اوسني اړتیاو سره سمون لري.

سرچینه: opennet.ru

Add a comment