انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: رجبی در 14 اسفند 1387، 07:20 بظ
-
سلام من یک کد سی که در لینوکس با geany اجرا میکنم خطای زیر یا هشدار زیر را میبینم در ویندوز با turbo c++ مشکلی نداره.
#include <stdio.h>
int a=0;
int main ()
{
printf("Please enter a number :");
scanf("%i ",a);
printf("Your Nubmer: %i",a);
return 0;
}
message: test.c:6: warning: format ‘%i’ expects type ‘int *’, but argument 2 has type ‘int’
مشکل چیه ؟
یک سوال دیگه چه طوری c++ را نیز در لینوکس بنویسیم ؟
و سه اینکه برنامه Kdevelop چرا کد ها رو build یا کام\ایل نمیکند؟
با تشکر. :)
-
scanf برای این که بتونه مقدار متغیرها رو عوض کنه, آدرس متغیر رو بگیره نه خود متغیر رو. به جای a از a& استفاده کنید. توربوسی اشکال نمی گیره ولی جواب درستی هم نمی ده.
پ=M
-
ممنون
نگفتید چرا kdevelop کامپایل را نداره و فایل را نمیسازه ؟
-
همم . براي c++ هم از همون geany استفاده كن هم سبك تر هست هم امكاناتش كامل هست ولي در مورد كامپايلر دقيقا نمي فهمم منظور شما چيه نه geany و نه kdevel فكر نمي كنم كامپايلر داشته باشن فقط يه دكمه دارن كه كليك مي كني و همون دستوري كه شما قرار بود به فرض به gcc يا g++ در خط فرمان بدي خودشون اجرا مي كنن و خروجي حاصل رو حالا در يك پنجره نمايش مي دن ( اگه اشتباه متوجه شدم شرمنده )
-
سلام راستی چه طور این کامپایلر c++ را نصب کنم در بسته ها نیست ؟
-
سلام راستی چه طور این کامپایلر c++ را نصب کنم در بسته ها نیست ؟
همون ++g هست.(البته با gcc هم میشه کد ++C رو کامپایل کرد ولی با ++g راحتتر و بهتره)
-
سلام این g++ در بسته ها هست ؟
-
بله در مخازن هست.
sudo apt-get install g++
-
می تونید هم بسته build-essential ر نصب کنید که هم اون و چند بسته دیگه ر برای شما نصب کنه.
-
سلام دوستان خسته نباشید
سالی داشتم من برنامه نویسی رو تازه شروع کردم حال چطوری میتونم تو linux برنامه نویسی به زبان c رو انجام بدم (کدوم برنامه )
thanks
-
تو لینوکس به راحتی هر چه تمامتر میتونی سی بنویسی،
راه اول : gedit رو باز میکنی، برنامهات رو توش مینویسی، با پسوند c ذخیره میکنی و بعد در ترمینال می نویسی :
gcc -oOutputName Source.c
که در اینجا OutputName همون اسمیه که میخوای برنامهی اجراییت داشته باشه و Source.c هم همون سورسی که بالا ذخیره کردی.
تبصره »» برای کامپایل از این طریق باید در هنگام وارد کردن دستور بالا در ترمینال، سورس در پوشه جاری ترمینال باشه.
راه دوم : به مانند دوستان بالا از شبهکامپایلر geany استفاده کنی که دستور گرفتنش اینه:
sudo apt-get install geany
بعد اون سورست رو بنویس و روی دکمه کامپایل کلیک کن، خودش برات کامپایل میکنه و اجرا.
راه سوم : از برنامه eclipse استفاده کنی، نمیدونم تو مخازن هست یا نه، ولی از طریق لینک زیر میتونی دانلودش کنی:
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-cpp-ganymede-SR2-linux-gtk.tar.gz
موفق باشی.
-
سلام من یک کد سی که در لینوکس با geany اجرا میکنم خطای زیر یا هشدار زیر را میبینم در ویندوز با turbo c++ مشکلی نداره.
#include <stdio.h>
int a=0;
int main ()
{
printf("Please enter a number :");
scanf("%i ",a);
printf("Your Nubmer: %i",a);
return 0;
}
message: test.c:6: warning: format ‘%i’ expects type ‘int *’, but argument 2 has type ‘int’
مشکل چیه ؟
یک سوال دیگه چه طوری c++ را نیز در لینوکس بنویسیم ؟
و سه اینکه برنامه Kdevelop چرا کد ها رو build یا کام\ایل نمیکند؟
با تشکر. :)
در مورد سوال شما یکی اینکه برای نوع int باید از d% استفاده کنید و هنگام فراخوانی متغیر از علامت آدرس استفاده کن همانطوری دوست عزیزی در بالا به آن اشاره کرده
-
ممنون
نگفتید چرا kdevelop کامپایل را نداره و فایل را نمیسازه ؟
سلام دوست من
در مورد kdevelop دیدم کسی سوالت رو پاسخ نداده ! ببین Kdevelop هم مثل Visual Studio یک IDE هست در واقع یک محیط گرافیکیه. VS هم همینطوره وقتی شما تو اون محیط برنامهات رو مینویسی و میزنی که کامپایلش کنه. VS خودش برات این کار رو انجام نمیده بلکه فایل برنامهات رو میده با کامپایلر مایروسافت (دستور cc) و اون برات این کار رو میکنه!
بنابر این نباید از Kdevelop به عنوان یک IDE توقع داشته باشی که خودش برات کامپایل کنه!
KDevelop در اصل رابطی میشه بین کدی که نوشتی و کامپایلر لینوکست ! وقتی شما دکمه کامپایل رو بزنی اما مشخص نکرده باشی که این رابطه به چه صورت باید شکل بگیره ! خوب معلومه که خطا میده.
کلا تو لینوکس فایلهای اسکریپت Makefile فایلهایی هستند که چگونگی کامپایل کردن سورس برنامه ها رو مدیریت میکنند و این فایل ها با دستور Make اجرا میشوند. بنابر این اگر شما یک فایل Makefile برای برنامهات داشته باشی فقط کافیه که آدرس پوشه اون فایل رو به Kdevelop بدی تا برات تو اون جا دستور Make رو زمانی که دکمه F8 یا build رو میزنی بزنه و کل سورس هات رو کامپایل کنه.
حالا فایل Makefile نداری و نمیدونی چه طوری اون رو درست کنی ؟ خوب مثل منی .... بازم یک سری ابزار های دیگه هستند به نام Automatic Build system ها که اونها این فایل Makefile رو برای برنامهای که داری مینویسی درست میکنند مثل Automake یا Cmake.
بنابر این با فرض اینکه Cmake رو رو سیستمت نصب داشته باشی میتونی یک پروژه جدید از نوع Cmake داخل Kdevelop باز کنی و دیگه کاری نداشته باشی که Makefile چیه و کجاست خود این Cmake تمام این کارها رو برات میکنه ! (automake یک کم دردسرش بیشتره)
برای کسب اطلاعات بیشتر میتونی به فایل سخنرانی من در جشن معرفی اوبونتو ۹.۰۴ مراجعه کنی توش این Cmake رو کامل توضیح دادم :
http://haghdoost.persiangig.com/document/ARH-Kdevelop-UNR.pdf