ببخشید اگه این سوالو اینجا مطرح میکنم.اما خب ساخته شدن فایل اجرایی به هرحال بخشی از مسیر برنامه نویسی با هر زبانیه.
ساختار فایل اجرایی ویندوز (exe) رو تا اونجا که من فهمیدم به این شکله که یه بخش شامل اطلاعات فایله و یه بخش شامل کد برنامه است و یه بخش شامل داده ها و یه بخش پشته و یه بخش توابع وapi های ویندوز که توسط برنامه قراره اجرا بشن و ... . و ویندوز وقتی میخواد برنامه رو اجرا کنه اول بخش کد رو از هارد میخونه و در رم قرار میده و به اندازه اون حافظه ای که تو بخش متغیر ها براش تعریف شده از سیستم حافظه میگیره و ادرس حافظه هارو جایگذاری میکنه و همینطور ادرس توابع و api هارو هم لینک میکنه.البته این چیزیه که من فهمیدم و اگر اشکال داره ممنون میشم اصلاحش کنید.
حالا سوالم اینه اگه ما یه ابجکت کد داشته باشیم یا یه برنامه خیلی خیلی ساده رو به زبان ماشین مستقیما بنویسیم و بخوایم بدون استفاده از لینکر که ساختار فایل اجرایی رو برامون میساره به صورت دستی یه فایل اجرایی درست کنیم،یعنی با یه هگزادیتور یا یه چیزی مثل نوت پد یه فایل یسازیم و و با فرمت exe ذخیره کنیم.بیایم و قراردادهایی که ویندوز(یا هرسیستم عامل دیگه با فرمت مخصوص خودش و قاعده هاش)قرار داده رو رعایت کنیم.بعد بخش کد رو توی جای خودش قرار بدیم و حافظه مورد نیاز برنامه رو با همون ترتیبی که ویندوز میفهمه براش بنویسیم و توابع درون سیستم عامل مورد نیاز رو توش تعریف کنیم،آیا این کار عملا شدنیه؟
البته هدف من اصلا این نیست که بدون لینکر برنامه نوشته شده رو به حالت اجرایی در بیارم چون که کار بیهوده ایه.بلکه میخوام ببینم ایا میتونم هر برنامه ای که باشه رو بخش کد اجرایی زبان ماشینش رو جدا کنم از فایل اجرایی؟و کلا ببینم نوشتن برنامه هایی مثل لینکرد یا دیس اسمبلر در توان من هست یا نه