PDA

View Full Version : سوال: برنامه c++ که در لینوکس هم اجرا بشه



mahdi87_gh
یک شنبه 22 آذر 1388, 10:37 صبح
سلام به دوستان
من می خوام برنامه ای رو به زبان c++ بنویسم که بشه اون رو در لینوکس هم اجرا کرد
برنامه نویسی c++ رو بلد هستم اما راجع به لینوکس اطلاعاتی ندارم. چه روشی رو پیشنهاد می کنید؟

حامد مصافی
یک شنبه 22 آذر 1388, 10:55 صبح
شما به سادگي مي توانيد اين كار را انجام بدهيد.
مهمترين مسئله كد نويسي استاندارد است. كامپايلر مايكروسافت شيوه هاي غير استانداردي دارد كه برنامه نويس را ترغيب به استفاده از آنها مي كند لذا كدي كه با شيوه هاي مايكروسافتي نوشته شده باشد توسط ساير كامپايلر ها (مانند GCC در لينوكس) كامپايل نخواهد شد.
اگر تصميم داريد از چهار چوب هاي بصري استفاده كنيد اين نكته را مد نظر داشته باشيد فنداسيون MFC مايكروسافت در ساير كامپايلر ها كامپايل نخواهد شد. راه حل استفاده از تولكيت هاي كراس پلتفرم است (در اين مورد در همين انجمن جستجو كنيد)

mahdi87_gh
یک شنبه 22 آذر 1388, 11:02 صبح
فرض کنید که من برنامه ام رو نوشتم ولی خودم لینوکس ندارم که بتونم تست کنم که آیا کامپایلرش ایراد می گیره یا نه.
چطوری میتونم این موضوع رو بررسی کنم؟
ممنون

حامد مصافی
یک شنبه 22 آذر 1388, 11:13 صبح
ار برنامه شما با يك كامپايلر استاندارد كامپايل شود قطعاً در لينوكس هم كامپايل خواهد شد.
نكته : موفقيت در كامپايل به معني اجراي قطعي نيست. براي مثال شما نبايد از ويندوز استفاده كنيد!
اگر در ويندوز سعي كنيد به مسير SYSTEM32 دسترسي پيدا كنيد اين كد در لينوكس خطا خواهد داد!
يك راه حل خوب براي اطمينان از كامپايل استفاده ازmingw است. برنامه خود را با اين كامپايلر كه نسخه ويندوزي gcc است كامپايل كنيد.

mahdi87_gh
شنبه 03 بهمن 1388, 13:45 عصر
برنامه آقای پور نصیر

ali zi zeperto
شنبه 03 بهمن 1388, 17:08 عصر
برنامه آقای پور نصیر

این گزارش کامپایل برنامت تو لینوکس بدون هیچ تغییری...


g++ -o h HOGHOGH.CPP
HOGHOGH.CPP:2:21: error: iomanip.h: No such file or directory
HOGHOGH.CPP:4:22: error: iostream.h: No such file or directory
HOGHOGH.CPP:6:19: error: conio.h: No such file or directory
HOGHOGH.CPP: In function ‘void Initialize()’:
HOGHOGH.CPP:21: error: ‘clrscr’ was not declared in this scope
HOGHOGH.CPP:22: error: ‘cout’ was not declared in this scope
HOGHOGH.CPP:22: error: ‘endl’ was not declared in this scope
HOGHOGH.CPP:29: error: ‘cin’ was not declared in this scope
HOGHOGH.CPP: In function ‘void WriteData()’:
HOGHOGH.CPP:55: error: ‘clrscr’ was not declared in this scope
HOGHOGH.CPP:56: error: ‘cout’ was not declared in this scope
HOGHOGH.CPP:56: error: ‘endl’ was not declared in this scope
HOGHOGH.CPP:69: error: ‘getch’ was not declared in this scope
HOGHOGH.CPP: At global scope:
HOGHOGH.CPP:73: error: ‘::main’ must return ‘int’
HOGHOGH.CPP: In function ‘int main()’:
HOGHOGH.CPP:78: error: ‘getch’ was not declared in this scope

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