برنامه نویسی

نحوه نصب GCC 14 و استفاده از C ++ 23

چندین ویژگی جدید مانند: std :: print ، std :: println و دیگران.


GCC 14 چندین پیشرفت قابلیت استفاده جدید دارد. هر چند GCC 15 در حال حاضر در دسترس است ، بسیاری از سیستم ها هنوز هم آن را در مخازن مدیر بسته در دسترس ندارند ، اما GCC 14 این کار را انجام می دهد! به عنوان مثال مانند در اوبونتو.

اگر سیستم خود را به روز می کنید ، اما هنوز به روزرسانی در دسترس نیست ، ممکن است به این دلیل باشد که هنوز به طور پیش فرض نیست ، اما می توانید آن را نصب کرده و آن را به عنوان پیش فرض برای سیستم خود تنظیم کنید.

بیایید ببینیم چگونه این کار را انجام دهیم.


نصب

به عنوان مثال ، برای نصب ، در اوبونتو ، فقط از APT استفاده کنید:

ابتدا لیست مخزن را به روز کنید:

sudo apt update && sudo apt upgrade
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون فقط GCC 14 را نصب کنید ، در این حالت فقط g++:

sudo apt install g++-14
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پس از نصب ، نسخه ممکن است به روز نباشد:

g++ --version
g++-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با این حال ، از طریق g++-14 دستور:

g++-14 --version
g++-14 (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


به عنوان پیش فرض برای سیستم خود تنظیم کنید

برای ایجاد پیش فرض هنگام استفاده فقط g++ فرمان ، این مراحل را دنبال کنید:

  • 1. GCC 14 را به عنوان گزینه جایگزین اضافه کنید:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • 2. اکنون تعاملی را انتخاب کنید:
sudo update-alternatives --config g++
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

انتخاب کنید شماره نسبت به G ++ 14 ، معمولاً 2، هر دو ممکن است یکسان باشند ، اما با انتخاب آن را مجبور می کنند 2بشر

بعد از آن ، فقط کار کنید g++ دستور بدون مشخص کردن:

g++ --version
g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مزایای انجام این کار به جای اینکه فقط تغییر کند پیوند نمادی:

  • سیستم را نمی شکند.
  • می تواند به راحتی بین نسخه ها جابجا شود.
  • از درگیری با apt/dpkgبشر

اضافی

اگر با LSP خود مشکل دارید clangd همچنین این کتابخانه ها را برای سازگاری با Clang نصب کنید:

sudo apt install libstdc++-14-dev libc++-dev libc++abi-dev
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


تست

اگر این کد را ایجاد کنید ، باید از آن استفاده کنید -std=c++23 به عنوان مثال پرچم برای کامپایل کردن ، به عنوان مثال:

print.cpp

#include 

int main(){
  const std::string var{"All"}; 
  std::println("Hello, {}", var);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

جمع بندی:

g++ -std=c++23 print.cpp
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر می خواهید اضافه کنید -std=c++23 به طور پیش فرض و نیازی به استناد به آن هنگام تهیه نیست ، می توانید اضافه کنید alias به ~/.bashrc، به عنوان مثال:

برای رسیدن به مسیر کامل خود g++ از دستور استفاده کنید which، به عنوان مثال: which c++

echo 'alias g++="/usr/bin/g++ -std=c++23"' >> ~/.bashrc
source ~/.bashrc
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آنجا می روید ، اکنون حتی نیازی به آن ندارید -std=c++، فقط اجرا کنید: g++ print.cppبشر

راه دیگر استفاده از آن است specs، به عنوان مثال:

تولید specs:

g++ -dumpspecs > ~/.config/specs
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ویرایش specs و خط نسبی و زیر محتوا را تغییر دهید: *cpp:، همه چیز را در آنجا جایگزین کنید و مانند این بگذارید:

*cpp:
%{posix:-D_POSIX_SOURCE} -std=c++23
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

و سپس این را به خود اضافه کنید ~/.bashrc:

export GCC_SPEC_FILE=/path/to/specs
alias g++="g++ -specs=$GCC_SPEC_FILE"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


می توانید از همان منطق برای دستور استفاده کنید: gcc برای زبان C

برای اطلاعات بیشتر به لینک های زیر مراجعه کنید:

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا