PDA

View Full Version : Include# چي هست؟



اوبالیت به بو
جمعه 20 اردیبهشت 1387, 14:06 عصر
من الان ++C رو تا حدودي خوب ياد گرفتم ولي هنوز نميدونم كه توابعي كه براي Include# استفاده ميشه براي چي هستش. آيا اينها همون كاري رو ميكنن كه Unit ها تويه پاسكال انجام ميدن يا نه؟؟ مرسي

amir_civil
جمعه 20 اردیبهشت 1387, 20:24 عصر
سلام
اگه منظورت اینه که inclue جه هست باید بگم که تمام دستورات سی++ تو یه هدر خاص وجود داره که تا وقتی که include نشن کامپایلر خطا میده البته کتابخانه های خود سی++ بدون .h هستن توی ویژوال سی++ 2005 به بعد

Nima_NF
جمعه 20 اردیبهشت 1387, 20:36 عصر
include# به پیش پردازنده اطلاع می دهد که محتویات فایل مشخص شده را همانند این در نظر بگیر که در خود سورس برنامه (در همان جایی که فراخوانی می شود) وجود داشته است.
لذا بعد از آن دستور نمی آید، بلکه مسیر قسمت های دیگر سورس برنامه می باشد که در فایل های دیگر ذخیره شده است و به دو صورت زیر:



#include "xxx"
#include <xxx>

"" برای فایل های خود پروژه و <> برای فایل های خارجی که توسط تنظیمات کامپایلر مشخص شده اند.

raven1997
سه شنبه 24 اردیبهشت 1387, 21:12 عصر
هر برنامه برای رسیدن به مرحله ی اجرا سه مرحله داره:
1.precompile
2.compile
3.link
در مرحله 1 فقط دستوراتی که با # مشخص شده اند مثل ثوابت و ماکروها وهمچنین دستور include
دقیقا توسط precompiler آورده شده و در همان مکانی که include شده اند چسبانده می شوند (کدهای تمام توابع داخل آن header خاص اورده می شوند)
در اینجا یک کد flat برای کامپایلر اماده شده تا آن را کامپایل کند یعنی کدی که کامپایلر می بیند هیچ # ندارد.
در مرحله ی 2 کامپایلر کد ما را کامپایل می کند و یک فایل obg. تولید می کند.
در مرحله ی 3 linker تمام obg. ها را به هم لینک می کند ولی از توابعی که توسط include# به کد ما چسبیده شده فقط آنهایی را که نیاز دارد بر می دارد و لینک می کند و فایل exe. را تولید میکند.

امیدوارم متوجه شده باشی.
موفق باشی.
:تشویق:Alis