انجمن کاربران لینوکس ایران - تکنوتاکس سابق

نسخه ي کامل: مشکل c++ و لینوکس
شما در حال مشاهده نسخه ي متني اين صفحه هستيد. مشاهده نسخه کامل تر با قالب بندي صحيح
سلام دوستان
توی دانشگاه برنامه نویسی به c++ را در بورلند به ما یاد داده اند . ولی من می خوام با لینوکس کار کنم اما gcc دستوراتی که من بلد بودم رو قبول نمی کنه . می شه بگید چه کار باید بکنم ؟
سلام

دوست عزیز تا جایی یادم هست برای c به این صورت هست پس از نوشتن برتامه در editor و ذخیره کردن با پسوند .c به این صورت اجرا میکنیم

کد :
gcc 123.c -o 123
./1

برای c++ فکر کنم فقط پسوند باید به .cpp تغییر بدین

مهمان

تنها دستوری که ممکنه برات فرق کنه دستور clrcsr و کتابخانه conio.h هست که توی ++c لینوکس اسمش یه چیز دیگس..
طریقه کامپایل کردن و کتابخانه های مختلف برای دستورات خاص رو هم با جستجو در اینترنت می تونید پیدا کنید.

موفق باشید.
علاوه بر توضیح دوستان...

نقل قول :می شه بگید چه کار باید بکنم ؟
باید ++C استاندارد را یاد بگیرید تا هم بر روی ویندوز، هم لینوکس و هم مک و BSDها و Solaris و غیره قابل کامپایل‌شدن باشد.
Anonymous نویسنده :تنها دستوری که ممکنه برات فرق کنه دستور clrcsr و کتابخانه conio.h هست که توی ++c لینوکس اسمش یه چیز دیگس..
طریقه کامپایل کردن و کتابخانه های مختلف برای دستورات خاص رو هم با جستجو در اینترنت می تونید پیدا کنید.

موفق باشید.

دوست عزيز -فلاني- ميشه بگي اسمش چي هست؟ تا اونجايي كه من مي دونم نبود دستوراتي مثل clrscr و كتابخانه conio.h كه بسيار سطح پايين هست مربوط به فلسفه و كارايي متفاوت خط فرمان لينوكس با ويندوز هست. اكثر كساني كه برنامه نويسي رو در داس/ويندوز آغاز كردن(مثل خودم) به دنبال اين فرمان و كتابخانه مي گردن. لطفا اگر دليل ديگه اي داره برام بنويس.
ممنون.
والا فکر نمیکنم اون پست مال من بوده باشه.
بهرحال من خودم قبلا دنبال conio.h در لینوکس بودم و ظاهرا کتابخانه های مشابهی براش نوشته شدن. این هدر جزو استاندارد رسمی سی نیست و برای همین توی لینوکس نبوده، اما کتابخانه های مشابهش رو برای راحتی برنامه نویسانی که مشکل انتقال از ویندوز به لینوکس رو دارن ظاهرا تهیه کردن.
<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/Conio.h">http://en.wikipedia.org/wiki/Conio.h</a><!-- m -->
سلام،

ببینید دوست عزیز، به طور خلاصه کتابخانه ای که در لینوکس بسیار برای پیاده سازی واسط کاربری در محیط ترمینال مفیده، اسمش ncurses هست. پیاده سازی ویندوزی اون رو هم که البته تا جایی که من اطلاع دارم کامل نیست، می تونید به نام pdcurses پیدا کنید. البته عقیده شخصی من اینه که اگه می خواین تو ویندوز یه محیط شبه یونیکسی داشته یاشین، بهتره از cygwin استفاده کنین، و اگه می خواین برنامه هاتون به دی ال ال های cygwin وابسته نباشن، بهترین گزینه msys هست. چون به هر صورت شل ویندوز خیلی درب و داغونه. اما چند تا نکته که به نظرم می رسه:

۱. بسیاری از برنامه های نسبتا قدرتمند در زمینه های مختلف برای واسط کاربریشون تنها از یه iostream ساده، یا در C از stdin و stdout و stderr استفاده می کنن.

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

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

۴. همونطور که دوستان هم گفتن، برای خودتون مشخص کنید که چی استاندارد زبان برنامه نویسیتونه و چی صرفا یک کتابخانه بیرونیه. اینطوری دردسرتون خیلی کمتر می شه.
سلام
برای کامپیال کردن کد ++C از ++g استفاده کنید
<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/G%2B%2B">http://en.wikipedia.org/wiki/G%2B%2B</a><!-- m -->
<!-- m --><a class="postlink" href="http://en.wikipedia.org/wiki/GNU_Compiler_Collection">http://en.wikipedia.org/wiki/GNU_Compiler_Collection</a><!-- m -->