آموزش برنامه نویسی امبدد C, برنامه نویسی, توصیه شده

اجرای برنامه hello world با زبان C – قسمت اول آموش امبدد C

آموزش امبدد c قسمت اول

در قسمت اول این آموزش با هم اجرای برنامه Hello World را یاد میگیریم. این برنامه معمولا در اکثر دوره های آموزش زبان C وجود دارد، اما ما سعی کردیم تا خیلی عمیق تر به بررسی این برنامه بپردازیم. با سیسوگ همراه باشید.

ابزارهایی که در این دوره استفاده خواهید کرد، طراحی شده‌اند تا کارها را سریع و آسان انجام دهند که برای برنامه‌نویسی معمولی خوب است؛ اما ممکن است برای برنامه‌نویسی امبدد زیاد کارآمد نباشد. کامپایلر GCC، قابلیت اجرای ابزار‌های زیادی را دارد. با ماه همراه باشید تا هر ابزار را بررسی کنیم که چگونه این ابزار ها کد را کامپایل و اجرا می کند.

در این روند، کشف خواهید کرد که کامپایلر GCC یک سورپرایز برای ما دارد. باوجوداینکه برنامه ما بسیار ساده است، کامپایلر تصمیم خواهد گرفت تا قسمتی از آن را بازنویسی کند بدون اینکه ما را در جریان بگذارد، تا کارایی برنامه افزایش پیدا کند. در واقع، اگر به پشت‌پرده این عملیات نگاه نکنیم تا ببینیم چه اتفاقی می‌افتد، هرگز درمورد جزئیاتی که در برنامه ما رخ می‌دهد آگاهی پیدا نمی‌کنیم. در ادامه فصل با ما همراه باشید تا بیشتر در این مورد اطلاعات کسب کنیم.

 

نصب GCC

برای اجرای برنامه در این فصل، شما بایدGNU C compiler (GCC) و ابزارهای مرتبط را بر روی سیستم خود نصب کنید. فرایند نصب بستگی به سیستم‌عامل شما دارد:

 

ویندوز

Minimalist GNU for Windows (MinGW)  را از آدرس http://www.mingw.org نصب کنید.

 

macOS

  • homebrew را در سیستم خود نصب کنید.
  • بعد از نصب homebrew، در ترمینال خود کامند brew install gcc را وارد کنید.

 

لینوکس

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

برای سیستم‌های مبتنی بر Red Hat مانند Fedora یا CentOS، از کامند زیر استفاده کنید:

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

پس از نصب نرم‌افزار، یک پنجره ترمینال باز کنید و کامند gcc را وارد کنید. اگر خطای “no input files” را دریافت کردید، نصب با موفقیت انجام شده است.

 

شروع برنامه نویسی

برنامه اول ما با نام hello.c است. برای شروع باید یک دایرکتوری برای نگهداری این برنامه و ورود به آن ایجاد کنید. به دایرکتوری اصلی فضای کاری خود مراجعه کنید، یک پنجره command باز کنید و کامند های زیر را وارد کنید:

از یک ویرایشگر متن مانند Notepad، Vim یا Gedit استفاده کنید، یک فایل با نام hello.c ایجاد کنید و کد زیر را وارد کنید:

ما این برنامه را در بخش‌های بعدی به طور دقیق بررسی خواهیم کرد. اما اول باید آن را اجرا کنیم.

 

کامپایل برنامه

فایلی که به تازگی ایجاد کردید، به عنوان یک فایل منبع شناخته می‌شود و حاوی کد به فرمت قابل خواندن برای انسان است. (بله، واقعاً؛ این قرار است قابل خواندن برای انسان باشد.) این فایل منبع برای تولید سایر فایل‌ها مورد استفاده قرار می‌گیرد. محتوای این فایل، که به آن کد منبع یا source code می‌گوییم، منطق و عملکرد برنامه‌ی ما را بیان می‌کند. با این حال، کامپیوتر مستقیماً کد منبع را نمی‌فهمد؛ فقط کد ماشین، یعنی مجموعه‌ای از دستورات به فرمت عددی را می‌پذیرد. بنابراین، ما نیاز داریم کد منبع خود را به کد ماشین تبدیل کنیم، که این فرآیند را کامپایل کردن می‌نامیم. مرحله کامپایل، اطمینان می‌دهد که برنامه‌ی ما توسط کامپیوتر قابل اجرا باشد.

برای انجام این کار، دستورات کامپایلر زیر را در macOS یا Linux اجرا می‌کنیم:

در ویندوز، کامند زیر را اجرا می‌کنیم:

اگر هیچ خروجی نگرفتید و فقط یک خط فرمان بدست آمد، عمل کامپایل موفقیت‌آمیز بوده است. در غیر این صورت، پیام‌های خطا دریافت خواهید کرد. این کامند به برنامه GCC می‌گوید که برنامه را compile و link کند، خروجی را در یک فایل به نام hello در macOS و Linux یا hello.exe در ویندوز قرار دهد. اکنون می‌توانیم برنامه‌ی خود را اجرا کنیم. در macOS یا Linux  از دستورات زیر استفاده میـکنیم:

در ویندوز از کامند زیر استفاده کنید:

 

ایجاد خطا

در کد، یک خطا ایجاد می‌کنیم تا ببینیم چه اتفاقی می‌افتد. خط دوم را به این شکل تغییر دهید:

حالا بیایید سعی کنیم برنامه را کامپایل کنیم:

^خروجی به ما می‌گوید که در خط 2 و کاراکتر 1، مشکلی وجود دارد. کامپایلر در این موقعیت انتظار یک نوع داده را داشت اما با خطایی که از عمد ایجاد کردیم برنامه دچار مشکل شده است. برنامه را با بازگرداندن خط به حالت قبلی تصحیح کنید.

حال بیایید با حذف‌کردن چیزی کامپایلر را آزمایش کنیم. سمی‌کالن خط چهارم را پاک کنید:

بعد از کامپایل با خطای جدیدی مواجه می‌شویم:

شما متوجه می‌شوید که کامپایلر در زمان صدور پیغام خطا به خط ۵ اشاره کرده است. این به این دلیل است که باوجوداینکه ما در خط ۴ خطا ایجاد کرده‌ایم، کامپایلر آن را تا زمانی که به خط ۵ برسد، تشخیص نداده است. گاهی اوقات خطاهای مربوط به خطوط قبلی برای یک یا چند خط تشخیص داده نمی‌شوند، بنابراین فقط به خط مشخص شده توسط خطا نگاه نکنید؛ به خطوط قبلی نیز نگاه کنید.

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

خوشحال میشیم که نظرات و سوالتتون رو در بخش کامنت ها بپرسید.

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

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

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