أين يمكنني العثور على المستندات القياسية الحالية لـ C أو C++؟

StackOverflow https://stackoverflow.com/questions/81656

  •  09-06-2019
  •  | 
  •  

سؤال

يبدو أن الإجابة على العديد من الأسئلة موجودة في "المعيار".ومع ذلك، أين نجد ذلك؟ويفضل أن يكون على الانترنت.

قد يبدو البحث على Google أحيانًا عديم الجدوى، وخاصةً بالنسبة لمعايير لغة C، نظرًا لأنها غارقة في طوفان المناقشات في منتديات البرمجة.

للبدء في ذلك، نظرًا لأن هذه هي الأشياء التي أبحث عنها الآن، فأين توجد موارد جيدة عبر الإنترنت من أجل:

  • ج89
  • C99
  • ج11
  • ج++98
  • ج++03
  • سي++11
  • سي++14
هل كانت مفيدة؟

المحلول

إصدارات PDF للمعيار

اعتبارًا من 1 سبتمبر 2014، أفضل المواقع حسب السعر لمستندات معايير C وC++ بصيغة PDF هي:

لا يمكنك عادة الحصول على المراجعات القديمة للمعيار (أي معيار) مباشرة من هيئات المعايير بعد وقت قصير من إصدار طبعة جديدة من المعيار.وبالتالي، سيكون من الصعب العثور على معايير C89 وC90 وC99 وC++98 وC++03 للشراء من هيئة المعايير.إذا كنت بحاجة إلى مراجعة قديمة للمعيار، تحقق شارع التقنية كمصدر محتمل.على سبيل المثال، لا يزال بإمكانها توفير الإصدار الكندي من معيار CAN/CSA-ISO/IEC 9899:1990 بصيغة PDF، مقابل رسوم.

الإصدارات الإلكترونية للمعيار بصيغة غير PDF

طباعة إصدارات المعيار

تتوفر نسخ مطبوعة من المعايير من هيئات المعايير الوطنية و ايزو ولكنها مكلفة للغاية.

إذا كنت تريد نسخة مطبوعة من معيار C90 مقابل أموال أقل بكثير مما سبق، فقد تتمكن من العثور على نسخة مستعملة رخيصة الثمن من هيرب شيلدتكتاب معيار ANSI المشروح في أمازون, الذي يحتوي على النص الفعلي للمعيار (مفيد) والتعليق على المعيار (أقل فائدة).

تتوفر معايير C99 وC++03 في شكل كتاب من Wiley وBSI (المعهد البريطاني للمعايير):

إصدارات لجنة المعايير

غالبًا ما تكون مسودة العمل للمعايير المستقبلية متاحة على مواقع اللجنة:

لاحظ أن هذه الوثائق ليست هي نفسها المعيار، على الرغم من أن الإصدارات السابقة للاجتماعات التي تقرر المعيار عادة ما تكون قريبة جدًا مما هو موجود في المعيار النهائي.إصدارات FCD (المسودة النهائية للجنة) محمية بكلمة مرور؛يجب أن تكون عضوًا في لجنة المعايير للحصول عليها.

ومع ذلك، في رأيي، على الرغم من أن مسودات الإصدارات قد تكون قريبة جدًا من الإصدارات النهائية المعتمدة للمعايير، إلا أنه يجب عليك حقًا الحصول على نسخة من المستندات الفعلية - خاصة إذا كنت تخطط للاقتباس منها كمراجع.وبطبيعة الحال، يجب على الطلاب الجائعين المضي قدمًا واستخدام المسودات إذا كانوا يعانون من ضائقة مالية.


يبدو أنه إذا كنت مستعدًا وقادرًا على الانتظار بضعة أشهر بعد التصديق على أحد المعايير، فإن البحث عن "INCITS/ISO/IEC" بدلاً من "ISO/IEC" عند البحث عن معيار هو المفتاح.بهذه الطريقة تمكنت من العثور على معيار C++ 11 بسعر معقول والآن معيار C11.لذلك، كمثال، يمكنك البحث عن "INCITS/ISO/IEC 9899:2011" بدلاً من "ISO/IEC 9899:2011" على webstore.ansi.org وستجد نسخة PDF بأسعار معقولة.


الموقع https://wg21.link/ يوفر روابط URL قصيرة لمسودة العمل الحالية لـ C++ ومسودة المعايير وأوراق اللجنة:


يتم الاحتفاظ بالمسودة الحالية للمعيار كمصادر LaTeX جيثب.يمكن تحويل هذه المصادر إلى HTML باستخدام cxxxdraft-htmlgen.تحتفظ المواقع التالية بصفحات HTML التي تم إنشاؤها على هذا النحو:

تيم سونج كما يحتفظ أيضًا بإصدارات HTML وPDF التي تم إنشاؤها من Networking TS وRanges TS.

نصائح أخرى

يمكن العثور على الإصدارات عبر الإنترنت من المعيار:

مسودة العمل، المعيار للغة البرمجة C++

فيما يلي كافة إصدارات مسودة المعيار:
كل ما يلي يمكن تنزيله مجانًا
2019-03-15: N4810 شخص سخيف
2019-01-21: N4800 شخص سخيف
2018-11-26: N4791 شخص سخيف
2018-10-08: N4778 شخص سخيف
2018-07-07: N4762 شخص سخيف
2018-05-07: N4750 شخص سخيف
2018-04-02: N4741 شخص سخيف
2018-02-12: N4727 شخص سخيف
2017-11-27: N4713 شخص سخيف
2017-10-16: N4700 شخص سخيف
2017-07-30: N4687 شخص سخيف

يبدو أن هذا هو المعيار الجديد:
يتطلب هذا الإصدار المصادقة
2017-03-21: N4660 هو مشروع المعيار C++ 17

فيما يلي كافة إصدارات مسودة المعيار:
كل ما يلي يمكن تنزيله مجانًا
2017-03-21: N4659 شخص سخيف
2017-02-06: N4640 شخص سخيف
2016-11-28: N4618 شخص سخيف
2016-07-12: N4606 شخص سخيف
2016-05-30: N4594 شخص سخيف
2016-03-19: N4582 شخص سخيف
2015-11-09: N4567 شخص سخيف
2015-05-22: N4527 شخص سخيف
2015-04-10: N4431 شخص سخيف
2014-11-19: N4296 شخص سخيف

يبدو أن هذا هو المعيار القديم لـ C++ 14:
يتطلب هذا الإصدار المصادقة
2014-10-07: N4140 شخص سخيف بشكل أساسي C++ 14 مع تصحيح الأخطاء الطفيفة والأخطاء المطبعية
2014-09-02: N4141 شخص سخيف المعيار C++14
2014-03-02: N3937
2014-03-02: N3936 شخص سخيف

فيما يلي كافة إصدارات مسودة المعيار:
كل ما يلي يمكن تنزيله مجانًا
2013-10-13: رقم 3797 شخص سخيف
2013-05-16: N3691
2013-05-15: N3690
2012-11-02: N3485
2012-02-28: رقم 3376
2012-01-16: رقم 3337 شخص سخيف بشكل أساسي C++ 11 مع تصحيح الأخطاء الطفيفة والأخطاء المطبعية

يبدو أن هذا هو المعيار القديم لـ C++ 11:
يتطلب هذا الإصدار المصادقة
2011-04-05: N3291 C++ 11 (أو قريب جدًا)

فيما يلي كافة إصدارات مسودة المعيار:
كل ما يلي يمكن تنزيله مجانًا
2011-02-28: N3242 (الاختلافات عن N3291 طفيفة جدًا)
2010-11-27: N3225
2010-08-21: N3126
2010-03-29: N3090
2010-02-16: N3035
2009-11-09: N3000
2009-09-25: N2960
2009-06-22: N2914
2009-03-23: N2857
2008-10-04: N2798
2008-08-25: N2723
2008-06-27: N2691
2008-05-19: N2606
2008-03-17: N2588
2008-02-04: N2521
2007-10-22: N2461
2007-08-06: رقم 2369
2007-06-25: N2315
2007-05-07: N2284
2006-11-03: N2134
2006-04-21: N2009
2005-10-19: N1905
2005-04-27: N1804

يبدو أن هذا هو المعيار القديم لـ C++ 03:
جميع الإصدارات أدناه تتطلب المصادقة
2004-11-05: N1733
2004-07-16: N1655 غير رسمي
2004-02-07: رقم 1577 C++03 (أو قريب جدًا)
2001-09-13: N1316 مسودة التصويب الفني الموسع
1997/00/00:N1117 مشروع التصويب الفني الموسع

فيما يلي كافة إصدارات مسودة المعيار:
كل ما يلي يمكن تنزيله مجانًا
1996-00-00: N0836 مسودة التصويب الفني الموسع
1995-00-00:N0785 ورقة عمل لمشروع المعيار الدولي المقترح لنظم المعلومات – لغة البرمجة C++

أوراق أخرى مثيرة للاهتمام:

2019 / 2018 / 2017 / 2016 / 2015 / 2014 / 2013 / 2012 / 2011

C99 هو متوفر على الانترنت.نقلا عن www.open-std.org:

أحدث إصدار متاح بشكل عام من المعيار هو C99 + TC1 + TC2 + TC3 ، WG14 N1256, ، بتاريخ 2007-09-07.هذه ورقة عمل WG14 ، لكنها تعكس المعيار الموحد في وقت الإصدار.

روابط المسودة:

C++ 11 (+ إصلاحات تحريرية):رقم 3337 لغة البرمجة, بي دي إف

C++ 14 (+ إصلاحات تحريرية):N4140 لغة البرمجة, بي دي إف

ج11 N1570 (نص)

C99 N1256

المسودات يتم تعميم المعيار للتعليق عليه قبل التصديق عليه ونشره.

ملحوظة أن مسودة العمل ليست هي المعيار المعمول به حاليًا، وأنها ليست بالضبط المعيار المنشور

قد تجد مشروع المعيار الدولي لـ C++ 0x مفيد.

تكلف معايير ISO المال، بدءًا من مبلغ معتدل (لإصدار PDF)، إلى أكثر قليلاً (لإصدار كتاب).

على الرغم من أنها لم يتم الانتهاء منها بعد، إلا أنه يمكن عادةً العثور عليها عبر الإنترنت كمسودات.في معظم الأوقات، لا تختلف النسخة النهائية بشكل كبير عن المسودة الأخيرة، لذلك على الرغم من أنها ليست مثالية، إلا أنها ستكون مناسبة تمامًا.

تتوفر معايير C99 وC++03 في شكل كتاب من Wiley:

بالإضافة إلى ذلك، كما ذكرنا سابقًا، غالبًا ما تكون مسودة العمل للمعايير المستقبلية متاحة على مواقع اللجنة:

مشروع C-201x متاح كـ N1336, ، ومسودة C++0x كـ N3225.

تعتبر معايير ISO C وC++ باهظة الثمن.ومن ناحية أخرى، تقوم INCITS بإعادة نشرها بتكلفة أقل بكثير. http://www.techstreet.com/ يبدو أن لدى PDF مقابل 30 دولارًا (ابحث عن Incits/ISO/IEC 14882: 2003).

الإصدارات المطبوعة متاحة أيضًا.ابحث عن إصدارات معهد المعايير البريطانية، التي نشرتها وايلي.

نص أ مسودة معيار ANSI C (المعروف أيضًا باسم C.89) متاح عبر الإنترنت.تم توحيد ذلك من قبل لجنة ANSI قبل قبول معيار ISO C (C.90)، لذلك يختلف ترقيم الأقسام (أقسام ANSI من 2 إلى 4 تتوافق تقريبًا مع أقسام ISO من 5 إلى 7)، على الرغم من أن المحتوى (مفترض) أن تكون) متطابقة إلى حد كبير.

قد لا تكون وثائق المعايير الفعلية هي الأكثر فائدة.معظم المترجمين لا ينفذون المعايير بشكل كامل وقد يتعارضون في بعض الأحيان.وبالتالي فإن وثائق المترجم التي لديك بالفعل ستكون أكثر فائدة.بالإضافة إلى ذلك، ستحتوي الوثائق على ملاحظات وملاحظات خاصة بالمنصة حول أي تحذيرات.

على الرغم من أنه ليس معيارًا فعليًا، إلا أن هناك تعديلًا على ISO C (C89/90) يسمى C94/95، أو الملحق المعياري 1.تم دمجه في C99، على الرغم من أن بعض المترجمين مثل رنة تسمح لك بتحديد -std=c94 على سطر الأوامر.يمكن شراء ISO/IEC 9899:1990/Amd 1:1995 بسعر باهظ من ساي العالمية (PDF أو نسخة مطبوعة).

يمكن العثور على ملخص للوثيقة هنا.

عندما تم النظر في المعيار (المسودة) ANSI C لاعتماد معيار دولي في عام 1990 ، كان هناك العديد من الاعتراضات لأنه لم يعالج قضايا التدويل.نظرًا لأن المعيار كان بالفعل عدة سنوات في صنعه ، فقد تم الاتفاق على أنه سيتم إجراء بعض التغييرات لتوفير الأساس (على سبيل المثال ، تمت إضافة الوظائف في الفقرة الفرعية 7.10.7) ، وسيتم تنفيذ العمل بشكل منفصل لتقديمه التدويل السليم للمعيار.وقد توج هذا العمل بالملحق المعياري رقم 1.

يجسد الإضافة المعيارية 1 رد فعل C على كل من القيود ووعود مجموعات الشخصيات الدولية.كان من المفترض أن يحسن Digraphs و Header ظهور برامج C المكتوبة في المتغيرات الوطنية لـ ISO 646 بدون أحرف ، على سبيل المثال ، {أو}.على الطرف الآخر من الطيف ، فإن المرافق المتصلة وتوسيع أساس المعيار القديم بالكاد كافيًا إلى مجموعة كاملة ومتسقة من المرافق للتعامل مع الأحرف الواسعة والسلاسل المتعددة.

تلخص هذه الوثيقة الإضافة المعيارية 1.يهدف إلى إبلاغ القراء بسرعة المعرفة بالفعل بالمعايير ؛لا يمكن ، ولا يمكن ، تقديم الموضوع المعقد وراء NA1 ، ولا يمكن استبدال المستند الأصلي كدليل مرجعي.(ومع ذلك ، فإنه يحاول أن يكون دقيقًا قدر الإمكان ، ويود مؤلفها أن يسمع عن أي أخطاء أو إغفال.)

http://c0x.coding-guidelines.com/ يحتوي على نسخة قابلة للبحث ومستندة إلى HTML من معيار C.في الواقع، نسخة معدلة قليلا:

يحتوي موقع الويب هذا على نسخة معدلة من N1256.ويشمل الصياغة التي تم حذفها من C99 (أي ، في النموذج) والصياغة التي تستخدم لتظهر في C99 (أي ، في شكل خط).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top