لغة البرمجة C 1978
"C هي لغة برمجة للأغراض العامة التي تتميز باقتصاد التعبير ، وتدفق التحكم الحديث وهياكل البيانات ، ومجموعة غنية من المشغلين. C ليست لغة" عالية المستوى "، ولا لغة" كبيرة "، وهي غير متخصصة لأي مجال معين من التطبيقات.
"في تجربتنا ، أثبتت C أنها لغة ممتعة وتعبيرية ومتعددة الاستخدامات لمجموعة واسعة من البرامج. إنها سهلة التعلم ، وهي ترتدي تجربة الفرد معها".
لغة البرمجة C Edition 1988
"كما قلنا في المقدمة للنسخة الأولى ، يرتدي C" تجربة الفرد بشكل جيد مع ذلك.
Cake عبارة عن واجهة أمامية مترجم مكتوب من الصفر في C ، وتلتصق بمواصفات لغة C23 وما بعدها. إنه بمثابة منصة لتجربة ميزات جديدة ، بما في ذلك مقترحات لغة C2Y ، وتحسينات السلامة ، والملحقات مثل تعبيرات Lambda وبيانات التأجيل.
تقوم الواجهة الخلفية الحالية بإنشاء رمز متوافق مع C89 ، والذي يمكن أن يكون مرتبطًا مع المترجمين الحاليين لإنتاج المواد التنفيذية.
تهدف Cake إلى تعزيز سلامة C من خلال توفير رسائل تحذير عالية الجودة وتحليل التدفق المتقدم ، بما في ذلك عمليات فحص عمر الكائن.
هذه هي أفضل طريقة للمحاولة.
http://thradams.com/cake/playground.html
ملاحظة: لا تزال الكعكة قيد التطوير ولم تصل بعد إلى نسخة مستقرة.
يمكن استخدام الكعكة كمحلل ثابت إلى جانب المترجمين الآخرين. يقوم بإنشاء ملفات SARIF ، والتي يتم التعرف عليها بواسطة IDEs الشهيرة مثل Visual Studio و Visual Studio Code ، مما يوفر تكاملًا سلسًا.
يمكن أن تعمل أيضًا كمعالج مسبق ، وتحويل رمز C23 إلى C89. يتيح ذلك للمطورين استخدام الميزات الحديثة أثناء استهداف المجمعين الذين لا يدعمون بعد أحدث معايير اللغة.
تضمنت الإصدارات السابقة من الكعكة وضع تحويل لترجمة الكود مع الحفاظ على الأجزاء المسبقة. على الرغم من أنها مفيدة ، إلا أن هذه العملية لا يمكن أن تضمن التحويل بنسبة 100 ٪ ، حيث تعمل كأداة أكثر من برنامج التحويل البرمجي. مع انتقال الإصدارات الجديدة من الكعكة نحو أن تصبح مترجمًا أكثر تقليدية ، تم إيقاف الوضع السابق في الإصدار 0.9.36. هذا الإصدار متصل بالإنترنت هنا http://thradams.com/cake3/playground.html.
github https://github.com/thradams/cake
افتح موجه أوامر المطور في Visual Studio. انتقل إلى دليل SRC ونوعه
cl build.c && build
سيؤدي ذلك إلى إنشاء Cake.exe ، ثم قم بتشغيل الكعكة على رمز المصدر الخاص بها.
وصلت إلى دليل SRC ونوعه:
gcc build.c -o build && ./build
وصلت إلى دليل SRC ونوعه:
clang build.c -o build && ./build
لتشغيل وحدة اختبارات Windows/Linux ADD -DTest على سبيل المثال:
gcc -DTEST build.c -o build && ./build
مطلوب emscripten https://emscripten.org/.
أولا قم البناء العادي.
يقوم البناء العادي أيضًا بإنشاء ملف lib.c وهو النسخة المدمجة من "Core Lib".
ثم في ./SRC DIR Type:
call emcc -DMOCKFILES "lib.c" -o "Webcake.js" -s WASM=0 -s EXPORTED_FUNCTIONS="['_CompileText']" -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap']"
سيؤدي هذا إلى إنشاء src web cake.js
تأكد من أن الكعكة على مسار النظام الخاص بك.
عينات
cake source.c
هذا سوف يخرج ./out/source.c
انظر اليدوي
كيف وصلنا إلى هنا؟
نسخة من كل مسودة قياسية C في مجلد المستندات .
كتب وليامز مقدمة لطيفة للغاية
برمجة C23 للجميع
https://hackaday.com/2022/09/13/c23-programming-for- everyone/
يمكنك المساهمة من خلال تجربة الكعك ، والإبلاغ عن الأخطاء ، وإعطاء التعليقات.
هل لديك اقتراح لـ C؟
خادم Discord
https://discord.gg/yrekr2n65s
أنا أستخدم Visual Studio 2022 IDE لكتابة/تصحيح مصدر كعكة. يتم تحليل الكعكة نفسها باستخدام MSVC وتولد DIR Out بعد الإنشاء.
يمكنني استخدام رمز Visual Studio مع WSL لاختبار وتجميع الكود لـ Linux.
رمز مصدر الكيك لا يستخدم أي امتداد بحيث يكون الإخراج هو نفسه من الإدخال. هذا التجميع مفيد لتتبع الأخطاء مع اختبارات الوحدة.
كان Cfront هو برنامج التحويل البرمجي C ++ الأصلي ، المصمم لترجمة رمز C ++ إلى C.
على الرغم من أن CFRONT كان متوافقًا في البداية مع C89 ، إلا أنها تباعدت في النهاية عن تطور C.
على النقيض من ذلك ، تبقى الكعكة وفية للتطور الأساسي لـ C ، مما يضمن التوافق الكامل.
تهدف ملحقاتها إلى الحفاظ على جوهر C مع السماح للمطورين بالتجربة والمساهمة في تطور C باستخدام مترجم مفتوح المصدر مكتوب في C.