نوشتن و اجرای یک برنامه C روی رزبری‌پای

در این آموزش، توضیح خواهیم داد که زبان برنامه‌نویسی C چیست، برنامه‌نویسی C چه استفاده‌ای دارد، و چگونه یک برنامه‌ی C را در رزبری‌پای نوشته و اجرا کنیم.

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

یک برنامه C چیست؟

زبان برنامه‌نویسی C پرکاربردترین زبان برنامه‌نویسی همه اعصار است. برنامه‌های نوشته شده در C را می‌توان در رنج وسیعی از پلتفرم‌ها شامل کامپیوترهای شخصی، میکروکنترلرهای جاسازی شده و سوپر کامپیوترها اجرا کرد.

یک ویژگی برتر C این است که کدهای آن تقریباً به اندازه کدهای اسمبلی سریع می‌باشند. همانند کد اسمبلی، C امکان دسترسی به توابع سطح پایین ماشین را فراهم می‌کند و دارای دستور زبانی است که خواندن آن ساده‌تر از اسمبلی می‌باشد. برای مثال، این کد اسمبلی برای برنامه‌ی «hello world» را با برنامه‌ی «hello world» در زبان C مقایسه کنید.

        .arch armv6
        .eabi_attribute 27, 3
        .eabi_attribute 28, 1
        .fpu vfp
        .eabi_attribute 20, 1
        .eabi_attribute 21, 1
        .eabi_attribute 23, 3
        .eabi_attribute 24, 1
        .eabi_attribute 25, 1
        .eabi_attribute 26, 2
        .eabi_attribute 30, 6
        .eabi_attribute 18, 4
        .file   "hello-world-assembly.c"
        .section        .rodata
        .align  2
.LC0:
        .ascii  "Hello, World! 
        .arch armv6
       .eabi_attribute 27, 3
       .eabi_attribute 28, 1
       .fpu vfp
       .eabi_attribute 20, 1
       .eabi_attribute 21, 1
       .eabi_attribute 23, 3
       .eabi_attribute 24, 1
       .eabi_attribute 25, 1
       .eabi_attribute 26, 2
       .eabi_attribute 30, 6
       .eabi_attribute 18, 4
       .file   "hello-world-assembly.c"
       .section        .rodata
       .align  2
.LC0:
       .ascii  "Hello, World! \000"
       .text
       .align  2
       .global main
       .type   main, %function
main:
       @ args = 0, pretend = 0, frame = 0
       @ frame_needed = 1, uses_anonymous_args = 0
       stmfd   sp!, {fp, lr}
       add     fp, sp, #4
       ldr     r0, .L2
       bl      puts
       mov     r3, #0
       mov     r0, r3
       ldmfd   sp!, {fp, pc}
.L3:
       .align  2
.L2:
       .word   .LC0
       .size   main, .-main
       .ident  "GCC: (Debian 4.6.3-14+rpi1) 4.6.3"
        .section        .note.GNU-stack,"",%progbits
0"        .text        .align  2        .global main        .type   main, %function main:        @ args = 0, pretend = 0, frame = 0        @ frame_needed = 1, uses_anonymous_args = 0        stmfd   sp!, {fp, lr}        add     fp, sp, #4        ldr     r0, .L2        bl      puts        mov     r3, #0        mov     r0, r3        ldmfd   sp!, {fp, pc} .L3:        .align  2 .L2:        .word   .LC0        .size   main, .-main        .ident  "GCC: (Debian 4.6.3-14+rpi1) 4.6.3"         .section        .note.GNU-stack,"",%progbits

زبان‌های برنامه‌نویسی سطح بالا (مانند پایتون) برای برنامه‌نویسان دستوراتی را فراهم می‌آورند که انجام کارها مانند چاپ متن روی مانیتور کامپیوتر و توابع منطقی مانند and ،or و یا Not را ساده‌تر می‌کند. زبان‌های برنامه‌نویسی سطح پایین مانند اسمبلی تنها دسترسی به مجموعه دستورات پایه ماشین را فراهم می‌کنند. زبان C یک زبان برنامه‌نویسی سطح میانی است، که توابع مفید و آسانی را فراهم می‌کند و همزمان به اندازه کافی قدرتمند است تا عملیات پایه کامپیوتر را نیز در اختیار قرار دهد.

مطلب پیشنهادی:  آموزش کنترل موتور DC با رزبری پای

یک برنامه C چه کارهایی می‌تواند انجام دهد؟

C در ابتدا برای توسعه سیستم‌عامل‌ها توسعه یافت، بنابراین شگفت آور نخواهد بود که کرنل لینوکس به زبان C نوشته شده است. زبان C قادر است هر کاری که شما از برنامه‌نویسی کامپیوتر انتظار دارید را برآورده کند. برخی مثال‌های کاربردی عبارتند از:

  • سیستم‌عامل‌ها
  • برنامه‌های بزرگ
  • پایگاه‌های داده
  • برنامه‌های دسکتاپ
  • کامپایلر زبان‌ها
  • ویرایشگر متن/تصویر
  • درایورهای شبکه

نحوه‌ی نوشتن و اجرای برنامه در C

برای نمایش نحوه‌ی ایجاد یک برنامه و کامپایل و اجرای آن روی رزبری‌پای، یک برنامه‌ی ساده ایجاد می‌کنیم که در ترمینال عبارت «hello world» را چاپ می کند.

فرایند کدنویسی در C شامل چهار مرحله است.

  1. ایجاد سورس فایل
  2. کامپایل برنامه
  3. ایجاد برنامه‌ی قابل اجرا
  4. اجرای برنامه

ایجاد سورس فایل

برای شروع، یک ویرایشگر متن Nano باز کرده و با وارد کردن دستور زیر در خط فرمان، یک فایل جدید با پسوند «c.» ایجاد کنید.

sudo nano hello-world.c

این همان فایلی است که کد C در آن نوشته می شود. می‌توانید کد را در هر ویرایشگر متنی وارد کنید، فقط مطمئن شوید که فایل با پسوند «c.» ذخیره می‌شود.

حال، کد زیر را در Nano وارد کنید.

#include <stdio.h>

int main(){
   printf("Hello, World! \n");
   return 0;
}

بعد از وارد کردن کد، کلیدهای CTRL + X و سپس Y را فشار داده تا فایل ذخیره شده و از Nano خارج شوید.

مطلب پیشنهادی:  کنترل GPIO های رزبری‌پای از طریق تلگرام

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

کد نوشته شده در C را باید پیش از اجرا روی کامپیوتر کامپایل کرد. کامپایل کردن، فرآیند تبدیل کد به دستورات قابل خواندن برای ماشین می‌باشد، تا پردازنده کامپیوتر قادر به درک آن باشد.

وقتی سورس فایل خود را کامپایل می کنید، یک فایل جدید کامپایل شده ایجاد می گردد. برای مثال، با وارد کردن کد زیر فایل hello-world.c به یک فایل جدید به نام myfirsyprogram کامپایل می‌گردد.

gcc hello-world.c -o myfirstcprogram

ایجاد برنامه‌ی قابل اجرا

حال باید فایل کامپایل شده را به برنامه‌ی قابل اجرا تبدیل کنیم. برای انجام این کار، باید مجوزهای فایل (file permissions) را عوض کنیم. کد زیر را در خط فرمان وارد کنید.

chmod +x myfirstcprogram

اجرای برنامه

حال تنها کاری که باید انجام دهیم اجرای برنامه‌ی C کامپایل شده و قابل اجراست، برنامه‌ی C در خط فرمان به صورت زیر وارد می‌شود.

./myfirstcprogram

امیدواریم که این آموزش به شما ایده‌های اولیه برای شروع به برنامه‌نویسی به زبان C روی رزبری‌پای را داده باشد. اگر هر سوالی داشتید، لطفاً کامنت بگذارید، و اگر کسی را می‌شناسید که به این اطلاعات علاقه دارد، لطفاً مطلب را با او به اشتراک بگذارید. هم‌چنین می‌توانید این آموزش‌ها را از طریق اپلیکیشن هم دریافت کنید.

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

مطلب پیشنهادی:  مقدمه‌‌ای بر طراحی و توسعه‌ی سیستم‌های نهفته

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    

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

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