سوالاتی از turbo c++

سلام
در اینجا سوالاتمان را درباره ی c++ می پرسیم:
خودم اولین سوالم رو می پرسم :
میشه کد سی پلاس پلاس کامپایل شده رو به صورت بوتیبل اجرا کرد؟
و این که یه کدی بنویسیم که با فشار دادن یه کلید ، یه فایل exe اجرا بشه ( به صورت بوتیبل)؟:-?
 

the_king

مدیرکل انجمن
سلام
در اینجا سوالاتمان را درباره ی c++ می پرسیم:
خودم اولین سوالم رو می پرسم :
میشه کد سی پلاس پلاس کامپایل شده رو به صورت بوتیبل اجرا کرد؟
و این که یه کدی بنویسیم که با فشار دادن یه کلید ، یه فایل exe اجرا بشه ( به صورت بوتیبل)؟:-?

هر سوال باید در یک تاپیک مجزا و صرفا در تخصصی ترین انجمن مرتبط با موضوع مطرح بشه، فرضا انجمن برنامه نويسي و الگوريتم آن مرتبط با
موضوع سوالات برنامه نویسی هست، اما خودش زیر-انجمن هم داره، برای سوالات ++C یک زیر-انجمن با نام C و هم خانواده هایش هست،
پس سوالات ++C رو در خود انجمن برنامه نويسي و الگوريتم آن یا چند سوال رو یکجا و در یک تاپیک مطرح نکنید.

قوانین و محدودیت های ایجاد کردن مبحث جدید :
B1 - هر مبحث باید عنوانی داشته باشد که خلاصه ای از موضوع آن مبحث باشد، از عناوین مبهم و کلی استفاده نکنید.

B4 - اگر چندین سوال دارید که بهم مربوط نیستند، در مبحث های جداگانه مطرح شان کنید.
زمانی که چند سوال را در یک مبحث مطرح می کنید نمی توانید یک عنوان دقیق و با جزئیات انتخاب نمایید،در نتیجه ناچار می شوید که از یک عنوان نامناسب مثل "چند سوال در مورد فتوشاپ" استفاده کنید که خیلی مبهم و کلی است و مشخص کننده موضوع سوال شما نخواهد بود.

تاپیک منتقل گردید.
فایل های exe یک فرمت مشخص و استانداردی دارند، برای اجرا کردن شون نیاز به وجود یک سیستم عامل هست که فرمت این فایل های اجرایی رو پشتیبانی کنه.
همچنین فایل های exe و چه فایل های غیر exe به هر حال فایل اند، فایل وقتی مفهوم داره که سیستم فایل ای وجود داشته باشه و سیستم فایل و مدیریت اش
هم خودش جزئی از سیستم عامل ئه. پس نمیشه که حرفی از اجرا شدن یک فایل exe بزنید بدون اینکه سیستم عاملی ای اجرا شده باشه.

وقتی شما یک نرم افزار Bootable می سازید، کاری با فایل و فرمت exe ندارید. نرم افزار شما باید روی سکتور 0 دیسک و احیانا سکتور های بعدی ذخیره بشه،
اینجا دیگه اصلا صحبتی از فایل و فرمت exe نیست، چون وقتی کامپیوتر تازه روشن شده و می خواد Boot بشه اصلا سیستم عاملی در کار نیست.

شما می توانید با ++Turbo C یک فایل اجرایی ای بسازید که با روش هایی به عنوان کد قابل بوت شدن عمل کنه، اما اولا تبدیل اش به کد Bootable
مستقیم و یک مرحله ای نیست، ثانیا هر کدی این قابلیت رو نداره :

1) در ++Turbo C منوی ...Options > Compiler > Code Generation یک گزینه Model حافظه هست، نوع حافظه ای که مناسب کد های قابل بوت شدنه Tiny ئه،
از مدل حافظه Tiny استفاده کنید، فرمت خروجی اش هم exe نیست، com ئه.
2) در کد برنامه تون از هر نوع روتینی که بصورت مستقیم یا غیر مستقیم با سرویس های MS-DOS یا Windows سر و کار داره نباید استفاده کنید، به هیچ وجه.
مثلا فایل ها، چرا ؟ چون وقتی کد تون اجرا میشه، سیستم عاملی در کار نیست که سرویس هاش قابل اجرا باشه.

3) فایل اجرایی com که ساخته شد، باید محتویاتش با ساختار مشخصی در سکتور 0 دیسک قرار بگیره :

How to develop your own Boot Loader
 
اصلا من منظورم رو مستقیم می گم
ما یه تیم جوون هستیم داریم سعی می کنیم بتونیم یه سیستم عامل خیلی خیلی خیلی ساده بسازیم و فقط قابل اجرا باشه و رابط گرافیکی داشته باشه ،
با c++ میشه؟
 

the_king

مدیرکل انجمن
اصلا من منظورم رو مستقیم می گم
ما یه تیم جوون هستیم داریم سعی می کنیم بتونیم یه سیستم عامل خیلی خیلی خیلی ساده بسازیم و فقط قابل اجرا باشه و رابط گرافیکی داشته باشه ،
با c++ میشه؟

با ++C میشه، از نظر ساختار زبان و قابلیت هاش مشکلی نیست، اما سیستم عامل خیلی خیلی خیلی ساده شما به کد نویسی ای احتیاج داره که ساده نیست،
نه فقط ++C ، با هر زبان دیگری هم اینکار رو انجام بدهید ساده نیست. دلیلش محدودیت هایی است که Bootable بودن بهتون تحمیل می کنه.
فرضا چون سیستم فایل در دسترس نیست، نمی توانید از روتین های گرافیکی Borland و graphics.h استفاده کنید، چون به فایل های bgi و chr ای نیاز دارید که
با فایل های com ترکیب نمی شوند و بصورت فایل مجزا هم که توسط نرم افزار های Bootable قابل استفاده نیستند.
 
پس این جور که متوجه شدم ، در ایران هنوز راه حلی کامل برای ساخت یه سیستم عامل مستقل ارائه نشده!!!
 

the_king

مدیرکل انجمن
پس این جور که متوجه شدم ، در ایران هنوز راه حلی کامل برای ساخت یه سیستم عامل مستقل ارائه نشده!!!

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

طبعا هم دانش فنی زیادی می خواد، شخص یا تیمی که سیستم عامل مستقل می نویسه باید توانایی طراحی سیستم فایل و مدیریت حافظه و واسط گرافیکی کاربر و ... رو داشته باشه.
در ضمن هم زمان کافی و هم حوصله لازم ئه، چیزی نیست که امروز شروع کنید، هفته بعد سیستم عامل آماده استفاده باشه.
 

جدیدترین ارسال ها

بالا