لطفا صبرکنید...
۱۰٪
تخفیف ویژه خرید نقدی
کد: L74W2B
زرین‌پال درگاه امن
فرصت محدود
خرید نقدی
0

۰.۷ — کامپایل کردن اولین برنامه شما


پیش از آنکه بتوانیم اولین برنامه‌مان را بنویسیم، باید یاد بگیریم که چطور در محیط توسعه یکپارچه (IDE) خود، برنامه‌های جدید بسازیم. در این درس، روش انجام این کار را پوشش می‌دهیم و همچنین اولین برنامه‌تان را کامپایل و اجرا می‌کنید.


پروژه‌ها

برای نوشتن یک برنامه C++ درون IDE، معمولاً با ساختن یک پروژهٔ جدید شروع می‌کنیم (کمی بعد نشان می‌دهیم که چطور این کار را انجام دهید). پروژه ظرفی است که همهٔ فایل‌های کد منبع، تصاویر، فایل‌های داده و غیره‌ی شما را که برای تولید یک فایل اجرایی (یا کتابخانه، وب‌سایت و غیره) که بتوانید اجرا یا استفاده کنید، لازم هستند، در خود نگه می‌دارد.

پروژه همچنین تنظیمات گوناگون IDE، کامپایلر و لینکر را ذخیره می‌کند، و جایی که کار را متوقف کرده‌اید را به خاطر می‌سپارد، تا وقتی بعداً دوباره پروژه را باز می‌کنید، وضعیت IDE به همان جایی که کار را رها کرده‌اید، برگردانده شود.

وقتی گزینهٔ کامپایل برنامه را انتخاب می‌کنید، همهٔ فایل‌های .cpp درون پروژه، کامپایل و لینک می‌شوند.

هر پروژه معادل یک برنامه است. وقتی برای نوشتن برنامهٔ دوم آماده شدید، یا باید یک پروژهٔ جدید بسازید، یا کد پروژهٔ موجود را بازنویسی کنید (اگر نمی‌خواهید آن را نگه دارید). فایل‌های پروژه معمولاً مختص به همان IDE هستند، بنابراین پروژه‌ای که برای یک IDE ساخته شده، باید برای IDE دیگر دوباره ساخته شود.

بهترین روش: برای هر برنامهٔ جدیدی که می‌نویسید، یک پروژهٔ جدید ایجاد کنید.


پروژه‌های کنسولی

وقتی یک پروژهٔ جدید می‌سازید، معمولاً از شما پرسیده می‌شود که چه نوع پروژه‌ای می‌خواهید بسازید. همهٔ پروژه‌هایی که در این آموزش خواهیم ساخت، پروژه‌های کنسولی هستند. منظور از پروژهٔ کنسولی این است که برنامه‌هایی می‌سازیم که بتوانند از کنسول ویندوز، لینوکس یا مک اجرا شوند.


برنامه‌های کنسولی به‌طور پیش‌فرض، رابط کاربری گرافیکی (GUI) ندارند. آنها متن را در کنسول چاپ می‌کنند، ورودی را از صفحه‌کلید می‌خوانند و به صورت فایل‌های اجرایی مستقل (Stand-alone) کامپایل می‌شوند. این ویژگی برای یادگیری C++ عالی است، زیرا پیچیدگی را به حداقل می‌رساند و اطمینان می‌دهد که برنامه‌ها روی طیف گسترده‌ای از سیستم‌ها کار می‌کنند.

نگران نباشید اگر قبلاً از کنسول استفاده نکرده‌اید یا نمی‌دانید چطور به آن دسترسی پیدا کنید. ما برنامه‌های خود را از طریق IDEهایمان کامپایل و اجرا می‌کنیم (که در صورت نیاز، کنسول را فراخوانی می‌کنند).


کارگاه‌ها / راه‌حل‌ها (Workspaces / Solutions)

وقتی یک پروژهٔ جدید برای برنامه‌تان ایجاد می‌کنید، بسیاری از IDEها به‌طور خودکار پروژهٔ شما را به یک «کارگاه (Workspace)» یا «راه‌حل (Solution)» اضافه می‌کنند (اصطلاح آن بسته به IDE متفاوت است). یک کارگاه یا راه‌حل، ظرفی است که می‌تواند یک یا چند پروژهٔ مرتبط را در خود جای دهد.

برای مثال، اگر در حال نوشتن یک بازی هستید و می‌خواهید یک فایل اجرایی جداگانه برای حالت تک نفره و چندنفره داشته باشید، باید دو پروژه ایجاد کنید. منطقی نیست که هر دوی این پروژه‌ها کاملاً مستقل باشند — به هر حال، آنها بخشی از یک بازی هستند. به احتمال زیاد، هر کدام به عنوان یک پروژهٔ جداگانه درون یک کارگاه/راه‌حل واحد پیکربندی می‌شوند.

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

ایجاد یک پروژه در Visual Studio 

وقتی Visual Studio  (یا جدیدتر) را اجرا می‌کنید، باید کادر محاوره‌ای (Dialog) مانند تصویر زیر را مشاهده کنید:

گزینه «Create a new project» (ایجاد یک پروژه جدید) را انتخاب کنید.

سپس کادر محاوره‌ای (Dialog) مانند تصویر زیر را مشاهده خواهید کرد.

اگر قبلاً یک پروژه قبلی را باز کرده‌اید، می‌توانید از طریق منوی File > New > Project به این کادر محاوره‌ای دسترسی پیدا کنید.

Windows Desktop Wizard را انتخاب کرده و روی Next کلیک کنید. اگر این گزینه را نمی‌بینید، احتمالاً هنگام نصب Visual Studio، انتخاب نصب بار کاری Desktop development with C++ را فراموش کرده‌اید. در آن صورت، به درس ۰.۶ — نصب محیط توسعه یکپارچه (IDE) برگردید و Visual Studio خود را مجدداً مطابق دستورالعمل نصب کنید (توجه: به جای نصب کامل مجدد، می‌توانید نصب‌کننده Visual Studio را اجرا کرده و نصب موجود خود را تغییر دهید تا بار کاری C++ را اضافه کنید).

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

نام پروژه موجود را با HelloWorld جایگزین کنید.

توصیه می‌شود که گزینه Place solution and project in the same directory (قرار دادن راه‌حل و پروژه در یک پوشه) را نیز علامت بزنید، زیرا این کار تعداد زیرپوشه‌هایی که با هر پروژه ایجاد می‌شوند را کاهش می‌دهد.

برای ادامه، روی Create (ایجاد) کلیک کنید.

در نهایت، یک کادر محاوره‌ای آخر را مشاهده خواهید کرد:

مطمئن شوید که Application type روی Console Application (.exe) تنظیم شده باشد و گزینه Precompiled Header غیرفعال (unselected) باشد. سپس روی OK کلیک کنید.

اکنون یک پروژه ایجاد کرده‌اید! برای ادامه، به بخش Visual Studio Solution Explorer در زیر بپرید.


سوال: هدرهای از پیش کامپایل‌شده (Precompiled Headers) چیستند و چرا آنها را غیرفعال می‌کنیم؟

در پروژه‌های بزرگ (آنهایی که فایل‌های کد زیادی دارند)، هدرهای از پیش کامپایل‌شده می‌توانند با جلوگیری از برخی کامپایل‌های تکراری که معمولاً در پروژه‌های بزرگ رخ می‌دهد، سرعت کامپایل را بهبود بخشند.

با این حال، استفاده از هدرهای از پیش کامپایل‌شده نیاز به کار اضافی دارد و برای پروژه‌های کوچک (مانند آنهایی که در این آموزش‌ها ایجاد خواهید کرد)، تأثیر چندانی در زمان کامپایل ندارند.

به همین دلیل، توصیه می‌کنیم ابتدا هدرهای از پیش کامپایل‌شده را غیرفعال کنید و فقط در صورتی که زمان کامپایل شما طولانی شد، آنها را فعال کنید.


ایجاد یک پروژه در Visual Studio 2017 یا قدیمی‌تر

برای ایجاد یک پروژه جدید در Visual Studio 2017 یا قدیمی‌تر، به منوی File > New > Project بروید. یک کادر محاوره‌ای مانند تصویر زیر باز می‌شود:

ابتدا، مطمئن شوید که Visual C++ در سمت چپ لیست شده است. اگر Visual C++ را نمی‌بینید، احتمالاً هنگام نصب Visual Studio، انتخاب نصب بار کاری Desktop development with C++ را فراموش کرده‌اید. در آن صورت، به درس ۰.۶ — نصب محیط توسعه یکپارچه (IDE) برگردید و Visual Studio خود را مجدداً مطابق دستورالعمل نصب کنید (توجه: به جای نصب کامل مجدد، می‌توانید نصب‌کننده Visual Studio را اجرا کرده و نصب موجود خود را تغییر دهید تا بار کاری C++ را اضافه کنید).

اگر از Visual Studio 2017 نسخه 15.3 یا جدیدتر استفاده می‌کنید، در زیر Visual C++، گزینه Windows Desktop را انتخاب کنید و سپس Windows Desktop Wizard را در پنجره اصلی انتخاب کنید.

اگر Windows Desktop را به عنوان یک گزینه نمی‌بینید، احتمالاً از نسخه قدیمی‌تری از Visual Studio استفاده می‌کنید. اشکالی ندارد. به جای آن، Win32 و سپس Win32 Console Application را در پنجره اصلی انتخاب کنید.

در پایین، در قسمت Name، نام برنامه خود را وارد کنید (نام موجود را با HelloWorld جایگزین کنید). در قسمت Location، می‌توانید به‌صورت اختیاری مکان دیگری را برای قرارگیری پروژه خود انتخاب کنید. مقدار پیش‌فرض در حال حاضر کافی است.

روی OK کلیک کنید. اگر از نسخه قدیمی‌تر Visual Studio استفاده می‌کنید، Win32 Application Wizard اجرا می‌شود. روی Next کلیک کنید.

در این مرحله، باید یک کادر محاوره‌ای ویزارد مانند تصویر زیر مشاهده کنید (نسخه‌های قدیمی‌تر Visual Studio از سبک متفاوتی استفاده می‌کنند، اما بیشتر گزینه‌های مشابهی دارند):

مطمئن شوید که گزینه Precompiled Header (هدر از پیش کامپایل‌شده) را غیرفعال (uncheck) کنید.

سپس روی Ok یا Finish کلیک کنید. اکنون پروژه شما ایجاد شد!


Solution Explorer در Visual Studio

در سمت چپ یا راست پنجره، باید پنجره‌ای با عنوان Solution Explorer (مرورگر راه‌حل) مشاهده کنید. درون این پنجره، Visual Studio یک راه‌حل (Solution) برای شما ایجاد کرده است (Solution ‘HelloWorld’). درون آن، با نامی به صورت پررنگ (Bold)، پروژه جدید شما (HelloWorld) قرار دارد. درون پروژه، Visual Studio تعدادی فایل برای شما ایجاد کرده است، از جمله HelloWorld.cpp (در زیر آیتم درختی Source Files). ممکن است فایل‌های .cpp یا .h دیگری نیز ببینید که در حال حاضر می‌توانید آنها را نادیده بگیرید.

در ویرایشگر متن، خواهید دید که Visual Studio قبلاً فایل HelloWorld.cpp را باز کرده و تعدادی کد برای شما ایجاد کرده است. تمام کدها را انتخاب کرده و حذف کنید، و کد زیر را در IDE خود تایپ یا کپی کنید:

C++ main.cpp
            
1    #include <iostream>
2
3    int main()
4    {
5        std::cout << "Hello, World!";
6        return 0;
7    }
            
        

برای کامپایل برنامه خود، یا کلید F7 را فشار دهید (اگر این کار نکرد، Ctrl-Shift-B را امتحان کنید) یا به منوی Build > Build Solution بروید. اگر همه چیز به درستی پیش برود، باید موارد زیر را در پنجره Output (خروجی) مشاهده کنید:

Build Visual Studio 2017
            
1    >------ Build started: Project: HelloWorld, Configuration: Debug Win32 ------
2    1>HelloWorld.cpp
3    1>HelloWorld.vcxproj -> c:\users\alex\documents\visual studio 2017\Projects\HelloWorld\Debug\HelloWorld.exe
4    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
            
        

این یعنی کامپایل شما با موفقیت انجام شده است!


سوال: خطای C1010 دریافت کردم (fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add ‘#include “stdafx.h”‘ to your source؟). الان چه کار کنم؟

هنگام ایجاد پروژه خود، فراموش کرده‌اید هدرهای از پیش کامپایل‌شده را غیرفعال کنید. پروژه خود را دوباره ایجاد کنید (طبق دستورالعمل‌های بالا) و مطمئن شوید که هدرهای از پیش کامپایل‌شده را غیرفعال کرده‌اید.


برای اجرای برنامه کامپایل‌شده خود، کلیدهای Ctrl-F5 را فشار دهید، یا به منوی Debug رفته و Start Without Debugging (اجرا بدون اشکال‌زدایی) را انتخاب کنید. چیزی شبیه به تصویر زیر مشاهده خواهید کرد:

این نتیجه برنامه شماست! تبریک می‌گوییم، شما اولین برنامه خود را کامپایل و اجرا کردید!

مطلب مرتبط

وقتی برنامه را مستقیماً از Visual Studio اجرا می‌کنید، ممکن است یک خط خروجی اضافی ببینید که چیزی شبیه به این است:

Output Visual Studio
            
1    C:\Users\Alex\source\repos\Project6\Debug\Project6.exe (process 21896) exited with code 0.
            
        

این موضوع کاملاً طبیعی است. Visual Studio اطلاعات بیشتری درباره اینکه برنامه شما به‌طور عادی یا غیرعادی خارج شده است، ارائه می‌دهد. این موضوع را در درس ۲.۲ — مقادیر بازگشتی توابع (توابع مقدار-بازگشتی) بیشتر بررسی خواهیم کرد.

ایجاد یک پروژه در Code::Blocks

برای ایجاد یک پروژه جدید، به منوی File > New > Project بروید. یک کادر محاوره‌ای مانند تصویر زیر باز می‌شود:

گزینه Console application را انتخاب کرده و دکمه Go (یا Create) را فشار دهید.

اگر کادر محاوره‌ای ویزارد برنامه کنسولی را مشاهده کردید، روی Next کلیک کنید، مطمئن شوید که C++ انتخاب شده است و دوباره روی Next کلیک کنید.

اکنون از شما خواسته می‌شود که پروژه خود را نام‌گذاری کنید. نام پروژه را HelloWorld بگذارید. می‌توانید آن را در هر جایی که می‌خواهید ذخیره کنید. در ویندوز، توصیه می‌کنیم آن را در یک زیرپوشه از درایو C ذخیره کنید، مانند C:\CBProjects.

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

اکنون پروژه جدید شما ایجاد شده است.

در سمت چپ صفحه، باید یک پنجره Management (مدیریت) با برگه Projects (پروژه‌ها) انتخاب‌شده، مشاهده کنید. درون آن پنجره، یک پوشه Workspace (کارگاه) با پروژه HelloWorld درون آن خواهید دید:

درون پروژه HelloWorld، پوشه Sources (منابع) را باز کنید (expand) و روی main.cpp دوبار کلیک کنید. خواهید دید که یک برنامه Hello World از قبل برای شما نوشته شده است!

C++ main.cpp
            
1    #include <iostream>
2
3    int main()
4    {
5        std::cout << "Hello, world!";
6        return 0;
7    }
            
        

برای ساخت (Build) پروژه خود، کلیدهای Ctrl-F9 را فشار دهید، یا به منوی Build > Build بروید. اگر همه چیز به درستی پیش برود، باید موارد زیر را در پنجره Build log (گزارش ساخت) مشاهده کنید:

Build GNU GCC Compiler
            
1    -------------- Build: Debug in HelloWorld (compiler: GNU GCC Compiler) ---------------
2    mingw32-g++.exe -Wall -g  -c HelloWorld.cpp -o obj\Debug\HelloWorld.o
3    mingw32-g++.exe  -o bin\Debug\HelloWorld.exe obj\Debug\HelloWorld.o   
4    Output file is bin\Debug\HelloWorld.exe with size 55.55 KB
5    Process terminated with status 0 (0 minute(s), 0 second(s))
6    0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
            
        

این یعنی کامپایل شما با موفقیت انجام شده است!

برای اجرای برنامه کامپایل‌شده خود، کلیدهای Ctrl-F10 را فشار دهید، یا به منوی Build > Run بروید. چیزی شبیه به تصویر زیر مشاهده خواهید کرد:

این نتیجه برنامه شماست! 


برای کاربران لینوکس

کاربران لینوکس ممکن است نیاز به نصب بسته‌های اضافی داشته باشند تا Code::Blocks بتواند کامپایل کند. لطفاً برای اطلاعات بیشتر، دستورالعمل‌های نصب Code::Blocks را در درس ۰.۶ — نصب محیط توسعه یکپارچه (IDE) مشاهده کنید.


ایجاد یک پروژه در VS Code

برای شروع یک پروژه جدید، به منوی View > Explorer بروید (یا کلیدهای Ctrl-Shift-E را فشار دهید). این کار پنجره کاوشگر (Explorer) را باز می‌کند. اگر قبلاً پروژه‌ای را باز نکرده‌اید، باید دکمه Open Folder را در پنجره کاوشگر مشاهده کنید — آن را فشار دهید. اگر پروژه‌ای از قبل باز است و می‌خواهید یک پروژه جدید شروع کنید، از منوی بالایی File > Open Folder را انتخاب کنید.

درون کادر محاوره‌ای که باز می‌شود، یک پوشه جدید به نام HelloWorld ایجاد کرده و سپس این پوشه را انتخاب کنید. این پوشه، پوشه پروژه شما خواهد بود.

سپس، باید فایلی که کد منبع ما را در خود نگه می‌دارد، ایجاد کنیم. از منوی بالایی File > New File را انتخاب کنید، یا روی آیکون New File (فایل جدید) در سمت راست HELLOWORLD در پنجره کاوشگر کلیک کنید.

فایل خود را main.cpp نام‌گذاری کرده و محتویات زیر را به آن اضافه کنید:

C++ main.cpp
            
1    #include <iostream>
2
3    int main()
4    {
5        std::cout << "Hello, world!";
6        return 0;
7    }
            
        

برای کامپایل main.cpp و اجرای برنامه، مطمئن شوید که main.cpp در پنجره اصلی باز است، و سپس یا از منوی بالایی Run > Run Without Debugging (اجرا بدون اشکال‌زدایی) را انتخاب کنید، یا روی فلش رو به پایین (v) کنار آیکون پخش (play) در سمت راست زبانه main.cpp کلیک کرده و Run C/C++ File را انتخاب کنید.

سپس، گزینه g++ build and debug active file را انتخاب کنید (کاربران مک باید به جای g++، ++clang را انتخاب کنند). زبانه را از DEBUG CONSOLE به TERMINAL در پایین پنجره تغییر دهید.

اگر ترمینال شامل متن “Hello, world!” باشد، پس تبریک می‌گوییم، شما اولین برنامه C++ خود را اجرا کرده‌اید!

اگر از g++ در خط فرمان (Command Line) استفاده می‌کنید

در این حالت، نیازی به ایجاد پروژه ندارید. کافی است کد زیر را در یک فایل متنی با نام HelloWorld.cpp کپی کرده و فایل خود را ذخیره کنید:

C++ main.cpp
            
1    #include <iostream>
2
3    int main()
4    {
5        std::cout << "Hello, world!";
6        return 0;
7    }
            
        

از خط فرمان (Command Line)، دستور زیر را تایپ کنید:

Terminal Command Line
            
1    g++ -o HelloWorld HelloWorld.cpp
            
        

این دستور فایل HelloWorld.cpp را کامپایل و لینک می‌کند. برای اجرای آن، دستور زیر را تایپ کنید:

Terminal Command Line
            
1    HelloWorld
            
        

(یا احتمالاً ./HelloWorld)

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

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

شما باید خودتان نحوه انجام کارهای زیر را پیدا کنید:

  • ایجاد یک پروژه کنسولی (فقط برای IDEها)

  • افزودن یک فایل .cpp به پروژه (فقط برای IDEها، اگر به‌طور خودکار برای شما ساخته نشده باشد)

  • کد زیر را در فایل قرار دهید:

C++ main.cpp
            
1    #include <iostream>
2
3    int main()
4    {
5        std::cout << "Hello, world!";
6        return 0;
7    }
            
        
  • پروژه را کامپایل کنید

  • پروژه را اجرا کنید


اگر کامپایل با شکست مواجه شد

اشکالی ندارد، یک نفس عمیق بکشید. احتمالاً می‌توانیم آن را برطرف کنیم. 🙂

اول: به پیام خطایی که کامپایلر به شما داده است نگاه کنید. اغلب، شامل شماره خطی است که نشان می‌دهد کدام خط دچار خطا شده است. هم آن خط و هم خطوط اطراف آن را بررسی کنید و مطمئن شوید که هیچ اشتباه تایپی یا املایی وجود ندارد. همچنین مطمئن شوید که شماره خطوط را در کد خود وارد نکرده‌اید (ویرایشگر شما باید آنها را ارائه دهد).

دوم: به بخش پرسش و پاسخ در درس ۰.۸ — چند مشکل رایج C++ نگاه کنید، زیرا ممکن است مشکل شما در آنجا پوشش داده شده باشد.

سوم: نظرات زیر درس حاوی مثالی که در حال کامپایل آن هستید را بخوانید — ممکن است شخص دیگری با همان مشکل مواجه شده و راه‌حلی ارائه داده باشد.

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


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

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

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

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

اول، خطوط زیر را به بالای برنامه خود اضافه کنید یا مطمئن شوید که وجود دارند:

C++ Headers
            
1    #include <iostream>
2    #include <limits>
            
        

سپس، درست قبل از دستور return 0; در تابع main، خطوط زیر را اضافه کنید:

C++ Input Handling
            
1    std::cin.clear();
2    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
3    std::cin.get();
            
        

این کار باعث می‌شود برنامه شما منتظر بماند تا کاربر کلید Enter را فشار دهد (ممکن است لازم باشد دو بار Enter را فشار دهید)، که به شما زمان می‌دهد تا خروجی برنامه خود را قبل از اینکه IDE شما پنجره کنسول را ببندد، بررسی کنید.

راه‌حل‌های دیگر، مانند راه‌حل رایج system("pause")، ممکن است فقط روی سیستم‌عامل‌های خاصی کار کنند و باید از آنها اجتناب شود.

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


نکته: اگر از آنتی‌ویروس یا آنتی‌مالور استفاده می‌کنید، در نظر بگیرید که پوشه پروژه خود را از اسکن‌ها حذف کنید، زیرا کامپایل و اشکال‌زدایی ممکن است باعث ایجاد هشدارهای اشتباه (False Positives) شوند.


تفاوت بین گزینه‌های کامپایل، ساخت، بازسازی (Rebuild)، پاک‌سازی (Clean) و اجرا (Run/Start) در IDE من چیست؟

در درس ۰.۵ — آشنایی با کامپایلر، لینکر و کتابخانه‌ها، نشان دادیم که برای تولید یک فایل اجرایی که بتواند اجرا شود، هر فایل کد در یک برنامه به یک فایل شیء کامپایل می‌شود، و سپس فایل‌های شیء به یک فایل اجرایی لینک می‌شوند.

وقتی یک فایل کد کامپایل می‌شود، IDE شما ممکن است فایل شیء حاصل را روی دیسک ذخیره موقت (Cache) کند. ذخیره موقت (Cache) مکانی است که داده‌های پرکاربرد در آن ذخیره می‌شوند تا بعداً به سرعت بازیابی شوند. به این ترتیب، اگر برنامه در آینده دوباره کامپایل شود، هر فایل کدی که تغییر نکرده باشد، نیازی به کامپایل مجدد ندارد — فایل شیء ذخیره‌شده از دفعه قبل می‌تواند دوباره استفاده شود (به جای اینکه مجدداً تولید شود). این می‌تواند زمان کامپایل را به طور قابل توجهی کاهش دهد (به بهای مصرف کمی فضای دیسک).

با در نظر داشتن این نکته، در اینجا توضیح داده می‌شود که هر یک از گزینه‌ها معمولاً چه کاری انجام می‌دهند:

  • ساخت (Build): تمام فایل‌های کد تغییر یافته در پروژه یا کارگاه/راه‌حل را کامپایل می‌کند و سپس فایل‌های شیء را به یک فایل اجرایی لینک می‌کند. اگر از زمان آخرین ساخت، هیچ فایل کدی تغییر نکرده باشد، این گزینه هیچ کاری انجام نمی‌دهد.

  • پاک‌سازی (Clean): تمام اشیاء ذخیره‌شده و فایل‌های اجرایی را حذف می‌کند تا دفعه بعد که پروژه ساخته می‌شود، همه فایل‌ها دوباره کامپایل شوند و یک فایل اجرایی جدید تولید شود.

  • بازسازی (Rebuild): ابتدا یک «پاک‌سازی» و سپس یک «ساخت» انجام می‌دهد.

  • کامپایل (Compile): فقط یک فایل کد را دوباره کامپایل می‌کند (صرف نظر از اینکه قبلاً ذخیره شده باشد یا نه). این گزینه لینکر را فراخوانی نمی‌کند و فایل اجرایی تولید نمی‌کند.

  • اجرا/شروع (Run/Start): فایل اجرایی حاصل از ساخت قبلی را اجرا می‌کند. برخی IDEها (مانند Visual Studio) قبل از انجام «اجرا»، یک «ساخت» را فراخوانی می‌کنند تا اطمینان حاصل شود که آخرین نسخه کد خود را اجرا می‌کنید. در غیر این صورت (مانند Code::Blocks)، فقط فایل اجرایی قبلی را اجرا می‌کنند.

اگرچه ما به طور غیررسمی در مورد «کامپایل» برنامه‌هایمان صحبت می‌کنیم، اما برای کامپایل واقعی برنامه‌هایمان، معمولاً گزینه «ساخت» (یا «اجرا») را در IDE خود انتخاب می‌کنیم.


نتیجه‌گیری

تبریک می‌گوییم، شما سخت‌ترین بخش این آموزش (نصب IDE و کامپایل اولین برنامه خود) را پشت سر گذاشتید!

نگران نباشید اگر متوجه نمی‌شوید که خطوط مختلف در برنامه Hello World چه کاری انجام می‌دهند. ما هر خط را با جزئیات در ابتدای فصل بعدی بررسی و توضیح خواهیم داد.

فرشید پوشنده وب‌سایت
من فرشید پوشنده، کارشناس ارشد مهندسی نرم‌افزار، مدیر و مدرس آکادمی آنلاین آموزش برنامه‌نویسی کدنویسم هستم. با سال‌ها تجربه در حوزه آموزش و توسعه نرم‌افزار، تلاش کرده‌ام جامع‌ترین دوره‌های آموزشی در حوزه برنامه‌نویسی را به علاقه‌مندان ارائه دهم. در طول مسیر حرفه‌ای خود، به زبان‌ها و فناوری‌های C++ ،Java ،Python ،Qt ،QML ،SQL ،HTML ،CSS و وردپرس تسلط پیدا کرده‌ام.

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