۱۴۰۰/۱۲/۲۵ فناوری اطلاعات

کی بازار-  فرآیند کامپایل بخش بزرگی از هر پروژه کدنویسی ++C محسوب می‌شود. شما به کامپایلری نیاز دارید که کارآمد و ساده باشد و در عین حال عملکردهای متنوعی را ارائه دهد. اینجاست که کامپایلر  g++ وارد میدان می‌شود. این کامپایلر انواعی از قابلیت‌هایی را که پروسه کامپایل بدان نیاز دارد مستقیماً از خط فرمان ارائه می‌دهد. در ادامه با ما همراه شوید تا نحوه استفاده از کامپایلر G++  را روی لینوکس توضیح دهیم.

g++ چیست؟

بهترین حالت G++  حکم یک کامپایلر C++  که از خط فرمان شما اجرا می‌شود را دارد. این توسط بنیاد Free Software  منتشر شده است و بخشی [1]GCC  است. G++کد شما را که در یک زبان برنامه‌نویسی سطح بالا (در این مورد C++ ) نوشته شده است، با تبدیل آن به یک زبان سطح پایین قابل فهم توسط کامپیوتر، به یک فایل اجرایی تبدیل می‌کند.

نصب

اکثر نصب‌های لینوکس با g++  نصب می‌شوند (مستقیم و اصطلاحاًout of box ). با این حال، اگر توزیع انتخابی شما اینطور نیست، ما را دنبال کنید و نحوه نصب آن را در برخی از رایج ترین توزیع های لینوکس بیاموزید.

در اوبونتو و دبیان، آن را با استفاده از مدیر بسته apt نصب کنید:

sudoapt update&&sudoaptinstallg++

 

روی فدروا و CentOs آن را با استفاده از مدیر بسته yum نصب کنید:

sudoyum installg++

 

همچنین می‌توانید آن را بعنوان پکیجی از pkgs.org دانلود کنید. این با ابزار Curl صورت می‌پذیرد:

sudo curl http://ftp.de.debian.org/debian/pool/main/g/gcc-defaults/g++_10.2.1-1_amd64.deb-O

 

می‌توانید با استفاده از ابزار dpkg نیز بسته را نصب کنید:

sudodpkg-i g++.deb

 

برای بررسی نصب شدن g++ از فلگ –version استفاده کنید:

g++--version

 

کارکرد پایه

حال که g++ نصب شد آن را به فراخور نیاز کامپایل خود استفاده کنید:

ابتدا به طور دستی از فلگ –help استفاده کنید.

g++--help

 

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

g++--dumpspecs

این به شما یک نمای کلی از قابلیت‌ها و گزینه‌های مختلف آن می‌دهد.

برای انجام یک کامپایل اولیه با استفاده از g++، از فرمت زیر استفاده کنید:

g++[file]

 

برای مثال، اگر فایلی به نام main.cpp داشته باشیم، می‌توانیم آن را با تایپ کردن موارد زیر کامپایل کنیم:

g++ main.cpp

 

فایل اجرایی کامپایل‌شده به طور پیش فرض "a.out" نام دارد.

 

با تایپ کردن موارد زیر آن را اجرا کنید:

./a.out

 

اگر می‌خواهید نام فایل اجرایی کامپایل‌شده را مشخص کنید، با استفاده از پرچم -o این کار را انجام دهید:

g++-o[name][file to compile]

 

فرض کنید می خواهید نام فایل اجرایی را به عنوان main  مشخص کنید. شما باید موارد زیر را تایپ کنید:

g++-o main main.cpp

اگر می‌خواهید فایل های ابژه را به هم پیوند دهید، این کار را با استفاده از فرمت زیر انجام دهید:

g++-o[compiled file][obj1.o][obj2.o]

 

به عنوان مثال، اگر می‌خواهید فایل های ابژه object-1.o و "object-2.o"  را در یک فایل اجرایی main کامپایل کنید، باید موارد زیر را تایپ کنید:

g++-o main object-1.o object-2.o

 

اگر می‌خواهید دایرکتوری روت را مشخص کنید –جایی که کتابخانه‌ها و هدرها را می‌شود پیدا کرد- از فلگ –sysroot استفاده کنید.

g++-o[name]--sysroot[directory] main.ccp

 

استفاده از Wall برای نمایش پیام‌های هشدار

گاهی اوقات برای کامپایلر شما مفید است که همه پیام‌های هشدار را هنگام کامپایل کردن کد نشان دهد. خوشبختانه، g++  این قابلیت را دارد و آماده استفاده است.

برای نمایش همه پیام‌های هشدار، از پرچم -Wall استفاده کنید (لطفاً به حروف بزرگ W توجه کنید):

g++-o main main.cpp-Wall

ایجاد آرشیو ایستا

ایجاد آرشیوها به اندازه انتخاب ویرایشگر کد مناسب، بخشی از توسعه نرم‌افزار است. با چند ترفند مانند دستور ar می‌توانید براحتی با استفاده از g++  یک آرشیو را کامپایل کنید.

با کامپایل کردن یک فایل ابژه شروع کنید:

g++-o obj.o main.cpp

سپس از ابزار ar با rcs استفاده کنید تا فایل آرشیو .a را درست کنید.

arrcs archive.a obj.o

 

در آخر آن را با g++ استفاده کنید:

g++-o final example.cpp archive.a

 

پرسش‌های پرتکرار

می‌توانم برای کامپایل فایل‌های .c نیز از این ابزار استفاده کنم؟

از نظر فنی، شما می‌توانید. با این حال، ابزار gcc برای این کار مناسب‌تر است، زیرا g++ در درجه اول یک کامپایلر C++ است. علاوه بر این، g++ فایل‌های .c را به‌عنوان فایل‌های C++ در هر صورت در نظر می‌گیرد.

اگر می‌خواهید برای کامپایل فایل‌های .c از g++ استفاده کنید این فلگ را امتحان کنید:

g++-c[example.c]-o example

 

چرا از GCC بعنوان کامپایلر C++ استفاده نکنم؟

شما به خوبی می‌توانید از gcc به عنوان یک کامپایلر ++C استفاده کنید. با این حال، g++ در واقع اقتباسی از gcc است که بیشتر روی C++ متمرکز است. بنابراین، برخی از عملکردها و ویژگی های اضافی را برای برنامه نویسانی که با کد ++C کار می کنند ارائه می‌دهد.

آخرین نسخه‌اش کدام است؟

به نظر می‌رسد آخرین نسخه g++ در سه ماهه اول 2022 11.2.0 باشد. در جولای 2021 منتشر شد.

 

 

[1] GNU Compiler Collection

 

منبع: کی بازار (فروشگاه آنلاین نرم افزارهای اورجینال)، با دریافت انواع لایسنس‌های معتبر از تامین‌کنندگان جهانی این امکان را برای تمام کاربران فراهم آورده است تا در چند ثانیه، از خدماتی بین‌المللی لذت ببرند. در کی بازار امکان خرید لایسنس‌های اورجینال نرم افزار‌های کاربردی و امنیتی(ویندوز اورجینال، آفیس اورجینال، آنتی ویروس اورجینال، آنتی ویروس کسپرسکی، آنتی ویروس پادویش و آنتی ویروس نود 32) بصورت ارسال آنی فراهم آمده است.