PDA

View Full Version : سوال: برنامه ای که خروجی آن یک فایل اجرایی باشد ؟



aspasp
جمعه 14 فروردین 1388, 03:43 صبح
می خوام یه برنامه بنویسم که توش یک رشته دریافت بشه ، بعد این برنامه یک فایل Exe بسازه که این فایل exe بیاد اون رشته ای که تو برنامه اول دریافت شد رو تو یک فایل به اسم log.txt ذخیره کنه .

چنین چیزی امکان پذیر هست ؟ یعنی اینکه یک برنامه خروجیش یک فایل exe باشه ؟ میشه یک مثال کوچیک بزنید .

تشکر

pswin.pooya
جمعه 14 فروردین 1388, 16:09 عصر
سلام
خیلی از ویروسها و تروجانها به همین شکل عمل میکنن. اگه مشکل محدودیت حافظه نداشته باشی میتونی یه کامپایلر مثل gcc کنار برنامت بذاری و بعد اون رو از نو تولید کنه. ولی تگر چنین مشکلی داشته باشی و فقط کارت با یه متن ساده حل بشه به صورتی که برنامه دوم طبق یک روال مشخص (مثل چاپ متن در صفحه) از اون متن استفاده کنه پند تا راه وجود داره ولی همشون یک وجه مشترک یعنی استفاده از یه برنامه از پیش کامپایل شده دارن. یعنی اینکه برنامه دوم رو کامپایل میکنی و در بدنه برنامه (در آخر فایل exe) و یا ریسورس برنامه قرار میدی بعدا هر کجا که خواستی اون رو داخل یه فایل exe کپی میکنی و ازش استفاده میکنی. تو این حالت روش ریسورس بهتره و APIهای ویندوز گزینه های بیشتری رو بهت میدن مثلا به جای استفاده از فایل log میتونی متن رو داخل ریسورس رشته ای برنامه دوم کپی کنی.

در این مورد بهتره در ابتدا کتاب windows 2000 API superbible رو تهیه کنی و فصل مربوط به ریسورس اون رو بخونی بعد از اون داخل سایت codeproject در مورد ادیت کردن ریسورسها سرچ بزنی ولی اگر گزینه اول مد نظرت هستش میتونی یک راهنمای کامپایلر gcc رو تهیه کنی و از اون استفاده کنی. gcc اپن سورس هستش و محدودیت های قانونی برای استفاده از اون وجود نداره و تنها باید لیسانس GPL رو رعایت کنی. اگه بخوای شاید موفق شی که gcc رو همراه برنامت کامپایل کنی ( در این مورد هیچ اطلاعاتی ندارم.)