لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
اجرای فایل
2007-12-08, 10:06 AM,
ارسال : #1
اجرای فایل
اول بگم که خیلی تازه کارم نخندین!
من یه فایل c دارم که نمی تونم تو ترمینال اجراش کنم
gcc -c name.c رو که می زنم یه .o بهم می ده که نمی دونم چه طوری اجرا می شه
./name.c هم که نمی شه
پس چه طوری یه فایل c رو اجرا می کنن؟
نقل قول این ارسال در یک پاسخ
2007-12-08, 11:38 AM,
ارسال : #2
پاسخ: اجرای فایل
منظورتون رو از 'یه .o بهم می ده ' متوجه نشدم!
میشه واضح‌تر توضیح بدید؟
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2007-12-08, 11:39 AM,
ارسال : #3
پاسخ: اجرای فایل
اول باید بهش دسترسی اجرایی بدی:
[ltr]chmod 755 esmefile[/ltr]
و بعد اینجوری اجراش کنی:
[ltr]./esmefile[/ltr]

آزادی عقیده و کیبرد حق هر انسان است.
<!-- w --><a class="postlink" href="http://www.FreeKeyboard.net">www.FreeKeyboard.net</a><!-- w -->
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2007-12-08, 12:21 PM,
ارسال : #4
پاسخ: اجرای فایل
دسترسی هاش درسته
فایل من پسوند .c داره
وقتی می زنم :
./esmefile.c
از همون خط اول شروع می کنه کلی errorهای الکی می گیره!! پسوندشم پاک کردم اما بازم همون errorها رو می ده
بعد که search کردم فهمیدم باید با gcc -c کامپایلش کنم و نتیجه یه object فایل با پسوند .o است که نمی دونم باید باهاش چه کار کنم!!!
gcc -o esmefile esmefile.o رو هم زدم ولی یه سری error جدید میده

راستش قاطی کردم!!! شما وقتی می خواین یه فایل c رو لینوکس اجرا کنید چه کار می کنید؟!!!
نقل قول این ارسال در یک پاسخ
2007-12-08, 12:37 PM,
ارسال : #5
پاسخ: اجرای فایل
اگه موقع کامپایل بهت ارور میده که اصلا obj فایلی نمی سازه که بتونی اجرا کنی.
شما ببین اصلا کامپایل می شه یا نه.
بعد کامپایل تو ترمینال بزن ./filename
نقل قول این ارسال در یک پاسخ
2007-12-08, 12:40 PM,
ارسال : #6
Re: پاسخ: اجرای فایل
Anonymous نویسنده :راستش قاطی کردم!!! شما وقتی می خواین یه فایل c رو لینوکس اجرا کنید چه کار می کنید؟!!!

دوست من: فایل c را کسی اجرا نمیکنه!

باید اول کامپایلش کنی و بعد خروجی را که اسم پیش فرض آن a.out است اجرا کنی. اگر هم که مثل چیزی که دوستمون گفتند با o- نام خروجی داده باشی کافیه همون نام را بزنی تا اجرا بشه.

فقط یادت نره که اول نام فایل باید /. بگذاری.

انا و جمیع من فوق التراب
فداء تراب نعل ابی تراب (ع)
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2007-12-08, 12:43 PM,
ارسال : #7
پاسخ: اجرای فایل
باید به صورت زیر کامپایل کنید :
کد :
$gcc -o outputname source.c
توجه کنید که پسوند فایل source باید c. باشد . بعد از کامپایل شدن بدون خطا با گذاشتن /. در ابتدای outputname آن را اجرا کنید (یعنی outputname/.)
برای برنامه‌های ++c هم به صورت مشابه داریم :
کد :
$g++ -o outputname source.cpp
به خطاهای احتمالی در هنگام کامپایل برنامه هم توجه کنید !

موفق باشید .
نقل قول این ارسال در یک پاسخ
2007-12-08, 01:45 PM,
ارسال : #8
 
پست بالایی که آقا/خانم مهمان نوشتند کاملا درسته ولی اگه توضیح بیشتری بخوای...
ببین دستور gcc (یا g++) رو وقتی با c- مینویسی درواقع به کامپایلر داری میگی اول که compile کن بعد assemble کن ولی لینک نکن. به همین خاطر هم خروجی که بهت میده با پسوند .o هست که اصلا قابل اجرا نیست چون هنوز عملیات لینک روش انجام نشده.
اگه فایل اجرایی میخوای باید همونطور که مهمان بالا نوشته عمل کنی.
برای اطلاعات بیشتر دستور
کد :
gcc --help
رو در خط فرمان وارد کن.

موفق باشی...
شهاب. :wink:


ـــــــــــــــــــــ
این خرابه قبرستان نه ایران ماست *** این خرابه ایران نیست٬ ایران کجاست؟
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2007-12-08, 03:56 PM,
ارسال : #9
 
درست شد!
باید یه کتابخونه بهش لینک می کردم
gcc -o result esmefile.o -llibrary
اینو زدم تا بالاخره فهمید
مرسی از راهنمایی همه Wink
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان