C++ تدعم رسميًا منصة جديدة: ما الذي تغير

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

C++ يوسع الآفاق: دعم رسمي لمنصة جديدة



تلقى مجتمع مطوري C++ تحديثًا مهمًا: أعلنت اللجنة الدولية للمعايير ISO C++ ومزودو المترجمات الرائدون (GCC, Clang, MSVC) عن الدعم الرسمي الكامل لمنصة أجهزة وبرامج جديدة. يتعلق الأمر بمنصة RISC-V — وهي بنية مجموعة تعليمات مفتوحة (ISA) تكتسب شعبية سريعة في الأنظمة المدمجة وأجهزة إنترنت الأشياء وحتى حلول الخوادم.



سابقًا، كان دعم RISC-V في C++ موجودًا في وضع تجريبي، لكنه الآن مضمن في الإصدارات الرئيسية للمترجمات وموثق رسميًا في معيار C++23. وهذا يعني أن المطورين يمكنهم كتابة كود C++ لـ RISC-V دون استخدام تصحيحات خارجية أو إصدارات تجريبية من الأدوات.



ماذا يعني هذا للمطورين؟



  • مكتبة قياسية كاملة: الآن جميع الحاويات والخوارزميات وتدفقات الإدخال والإخراج من STL تعمل على RISC-V بشكل أصلي، دون محاكاة.
  • تحسين للبنية: حصلت المترجمات على علامات تحسين جديدة تراعي خصائص خط أنابيب RISC-V (مثل دعم توسعات تعليمات المتجهات).
  • أمان الذاكرة: تم تنفيذ دعم آليات الحماية مثل CFI (Control Flow Integrity) و Shadow Stacks لـ RISC-V.
  • نظام بيئي جاهز: تكامل مع أنظمة البناء الشائعة (CMake, Meson) ومديري الحزم (vcpkg, Conan) لـ RISC-V.


أمثلة عملية للاستخدام



يفتح الدعم الجديد الباب أمام المشاريع التي كانت تتطلب سابقًا نقلًا معقدًا. إليك بعض السيناريوهات:



  • تطوير أنظمة مدمجة تعتمد على متحكمات RISC-V (مثل SiFive أو ESP32-C3) باستخدام C++20/23.
  • إنشاء أجهزة حافة عالية الأداء مع تعلم آلي بلغة C++ على RISC-V.
  • نقل التطبيقات الحالية متعددة المنصات (ألعاب، محررات رسومية) إلى أجهزة RISC-V.


تفاصيل تقنية للمطورين



للبدء في العمل مع C++ على RISC-V، يكفي تثبيت الإصدار الحالي من المترجم:



  • GCC 13+ — أضاف دعمًا كاملاً لمعيار C++23 لـ RISC-V (سابقًا كان C++17 فقط).
  • Clang 16+ — تضمن دعم RISC-V في libc++ وحسّن توليد الكود لتوسعات المتجهات.
  • MSVC — لا يزال يدعم RISC-V فقط من خلال التجميع المتقاطع (بدءًا من Visual Studio 2022 17.8).


مثال أساسي لبناء برنامج:



// hello.cpp#include <iostream>int main() {    std::cout << "Hello RISC-V from C++!" << std::endl;    return 0;}// التجميع: riscv64-unknown-linux-gnu-g++ -std=c++23 hello.cpp -o hello


التأثير على النظام البيئي لـ C++



دعم RISC-V ليس مجرد خلفية أخرى للمترجم. إنها خطوة نحو تنويع منصات الأجهزة، وتقليل الاعتماد على x86 و ARM. بالنسبة للمشاريع التعليمية، مثل PythonLib، هذا يعني أن تعلم C++ أصبح الآن ممكنًا في سياق البنى الحديثة مفتوحة المصدر. هذا مهم بشكل خاص لدورات البرمجة النظامية والروبوتات وتطوير برامج التشغيل.

المكتبات الموصى بها