آموزش کامپایل کردن C و ++C با GCC

++C مه 2015 30

با سلام , در این ویدیو نحوه کامپایل و اجرای کد های زبان C و ++C را با استفاده از کامپایلر موجود در مجموعه سیستم عامل های گنو/لینوکس , یعنی GCC را بهتون آموزش دادم. این ویدیو را میتوانید زا باکس زیر دانلود کنید :

دانلود فیلم آموزشی
لینک دانلود5 مگابایت6 دقیقه

 

کامپایلر GCC توسط استاد بزرگ “ریچارد استالمن” نوشته شده و بصورت پیشفرض در سیستم عامل های گنو/لینوکس نصب است. این کامپایلر بسیار قدرتمند است اما محیط گرافیکی ندارد و باید از طریق خط فرمان کد ها را کامپایل و اجرا کرد! چنانچه در گنو/لینوکس نیاز به IDE حرفه ای برای ++C و C  داشتید eclipce میتواند کامپایلری جذاب برای شما باشد.

اما نحوه کامپایل و اجرای توسط GCC :

ابتدا یک فایل با پسوند cpp ایجاد و کد های مورد نظرتون را درونش بنویسید. مثلا من file.cpp را در نظر میگیرم و کد های زیر را درونش میگذارم :

 

سپس ترمینال را باز کرده و دایرکتوری را به محل فایل منتقل کنید , مثلا اگر این فایل در دسکتاپ است با کد زیر دایرکتوری را به دسکتاپ منتقل میکنیم :

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

بعد از اجرا میبینید در دایرکتوری مورد نظر فایلی با نام a.out ایجاد شده که فایبل کامپایل شده ی ما است. اگر میخواهید نام فایل کامپایل شده را خودتان انتخاب کنید از o- استفاده کنید :

مثلا در کد بالا ضمن کامپایل اعلام کردیم فایل کامپایل شده را با نام file.cc به ما تحویل دهد.

خب حالا کد های ما کامپایل شده اما برای اجرا باز باید از خط فرمان کمک بگیریم زیرا خروجی برنامه ی ما کنسولی است , در ویندوز هم خروجی فایل با cmd اجرا میشد !

برای نمایش خروجی فایل کامپایل شده ترمینال را باز و به دایرکتوری فایل کامپایل شده میریم . اگر فرض کنیم اسم فایل کامپایل شده ی ما a.out باشه به این شکل اجرا اش میکنیم :

و در نهایت خروجی را مشاده خواهید کرد.

 

colsole-cpp

دیدگاه ها
  • mohammad36987 گفت:

    با سلام
    من واقعا ممنونم از آموزشات شما خیلی خیلی خوب بود
    ممنون

  • omid2002l گفت:

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

    • حسین شفیعیان گفت:

      سلام امید جان
      مرسی از نظر لطفت
      بله چشم حتما این دوره ادامه پیدا میکنه اما چون مباحث سنگینه توضیح زیاد نمیدم.
      توصیه میکنم کتاب آموزش سی پلاس پلاس استاد عین الله جعفر نژاد قمی را مطالعه کنید.
      مرسی

  • sahar19 گفت:

    سلام
    به شما دوست عزیز اعیاد شعبانیه و ولادت حضرت علی اکبر (ع) و روز جوان را تبریک و تهنیت عرض مینمایم
    چندین باره در مدت های طولانی نظر ارسال میکنیم و شما میگید قرار میدهم بررسی میکنم …!
    ولی بعد این همه مدت هنوز آموزش ها را نذاشتید
    چیز های که در دیگر وب سایت نیس شما انجام بدید !
    میشه آموزش های افزونه های خاص رو قرار بدید
    ایجاد فرم فاکتور با استفاده از افزونه contact form7 با اسلایدر خوبی!
    یا کد اتصال سامانه پیامک به وب سایت وردپرس
    و یک آموزش قرار دادن یک وب سایت در دامین ها مختلف و چند ادرس
    با سپااااس

    • حسین شفیعیان گفت:

      سلام و تشکر
      ببینید بنده چند دوره آموزشی را در سایت منتشر کردم که ناتمام اند و کابران انتظار دارند این دوره ها را به اتمام برسانم. از جهتی بنده هیچ مسولیتی در قبال آموزش ها ندارم !
      آموزش های درخواستی شما نیز واضح نیستند , لطفا در انجمن و در بخش درخواست آموزش مطح کنید و دقیقا بگید به چه چیزی نیاز دارید.
      موفق باشید

  • امید گفت:

    سلام حاجی یدونه ای
    راستی داداش شاگرد نمیخوای ؟
    خواستی یه ایمیل بزن در خدمتیم .

    • حسین شفیعیان گفت:

      سلام
      متاسفانه من حاجی نیستم و با این وضعیت پیش اومده هم فکر نمیکنم توفیق بشه ، انشالله قسمت شما بشه
      در مورد نویسندگی یا بقول شما شاگردی ، اتفاقا قصد دارم چند نویسنده برای سایت اضافه کنم که در آینده سایت سریعتر بروز شه

  • Esmat گفت:

    Thank you for putting the new lessen for us. I was waiting for long time for this lessen I was very nice and inserting for me

  • Esmat گفت:

    Hi can you start teaching ruby for us please ?

  • mohammad36987 گفت:

    سلام
    خیلی خیلی معذرت می خوام من کجا می تونم ویندوزلینوکس رو دانلود کنم؟

    • حسین شفیعیان گفت:

      سلام
      ابونتو یکی از توزیع های گنو/لینوکس است که میتوانید در سایت رسمی اش از ubuntu.com دانلود کنید

  • Esmat گفت:

    Hi can you start ++c after long time please

  • Majid MR گفت:

    داداش دمت گرم خیلی آموزشات خوبه
    مرسی

  • سپهر گفت:

    این دستوراتو چجوری میشه توی php اجرا کرد یعنی از توی php فایل c++ رو کامپایل کنیم
    مثل:firststep.ir
    لطفا راهنمایی کنید

  • mohsen گفت:

    ممنون بسیار مفید بود

  • مهدی گفت:

    سلام خدمت دوست و استاد گرامی
    من تو ابونتو دقیقا مطابق آموزش پیش رفتم اما فایل ابجکت ایجاد نمیشه و مینویسه
    g++:command not found
    بنظرتون مشکل کجاست؟
    مرسی من خیلی با مطالب سایت استفاده میبرم حرفه ای و اصولی تدریس شدن

  • مهدی گفت:

    sudo apt-get update; sudo apt-get install build-essential
    شاید g++ نصب نباشه ولی چطور باید بفهمم که g++ نصبه یا نه؟

  • alireza گفت:

    با سلام خدمت شما
    از gcc در ویندوز استفاده می کنم
    من می خواهم تو سی پلاس پلاس به مای اسگیو ال وصل بشم
    کد رو نوشتم
    هدر اینکلود کردم
    فایل کانکتور مای اس کیو ال رو هم در سیستمم نصب کردم
    اما فایل هدر مای اس کیو ال رو نمیتونه بشناسه
    میشه کمی منو راهنمایی کنید؟

    ارورش اینه:
    C:\Users\Alireza\Desktop\C\mysql.c:3:23: fatal error: mysql.h: No such file or d
    irectory
    compilation terminated.

  • امید گفت:

    سلام. به سوال در مورد نصب یه برنامه که به زبان C هست دارم. امکانش هست کمکم کنید؟ هیچکس جوابمو نمیده متاسفانه!

  • امیرمهدی گفت:

    یه فایل هست به نام 2048.c باید کامپالش کرد بعد این رو باز کرد بازی ۲۰۴۸ توی ترمینال اجرا می‌شه توی وبلاگم گذاشتم.
    yon.ir/6Muf

  • sepideh گفت:

    سلام
    ببخشید من برنامه ی سی رومیخوام بااستفاده از Rootفراخوانی یاکامپایل کنم ولی نمیتونم.میشه راهنماییم کنیدممنون

  • mehdi گفت:

    یه بش اسکریپت بامزه برای g++
    #!/bin/bash
    clear
    g++ -o $1 $1.cpp
    if [ “$?” == “0” ];then
    echo -e “no err \n go to run \n”
    ./$1
    fi
    exit
    به فایل بش قابلیت اجرا بدید و
    اسم فایلتون رو جلوی اسم بش بنویسید بدون پسوند

  • misagh گفت:

    سلام.سوالم خیلی ابتداییه با عرض پوزش
    اولین محیطی که در اون کدهارو نوشتید محیط ++C بود؟اون New document همون فایل note pad بود؟
    اخه تازه در حال یادگیری هستم برای همین یکم اول کارو مشکل دارم

  • یحیی گفت:

    با سلام
    من می خوام روی لینوکسم gcc-4.6 نصب کنم روی سیستم gcc-5هستش اما نرم افزاری که من دارم با gcc-4.6کامپایلر می شه.تو سینوپتیکم واسه نصب اقدام کردم اما فقط ۴.۷تا۵اونجا هستش.ممنون اگه راهنمایی کنید

    • حسین شفیعیان گفت:

      سلام
      اگر توسیستمتون نصب باشه با آپدیت کردن برنامه به آخرین ورژن ارتقا داده میشه
      البته باید مخازن توزیعتون رو برسی کنید که آخرین ورژن موجود در مخازن نرم افزاریتون چیه

  • tuesday29 گفت:

    اموزش بدیگونه باشد که همه نرم افزار شباهت های دارد مثله
    1_پنجره التبه ویژهای ان و *
    2_ایجادمنو یا روبان و دستور های داخل ان البته و *
    3_ایکون های ایده کاربر
    4_منو راست کلیک و *
    4_تولبار و*
    5_دستورهای مربوط به ماوس وایکونهایان
    6_ باقی عملیات های که در ایده کاربر هست

    *_عملیات خاص ایده کاربر که ((شما نمیدانید راهنمایی میکند در { اموزش } که کاربر به هدفش برسد کد بنویسد))


Time limit is exhausted. Please reload CAPTCHA.