انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: Sir-Shadow در 25 آذر 1389، 10:49 ق‌ظ

عنوان: ناتوانی در کامپایل به کمک gcc
ارسال شده توسط: Sir-Shadow در 25 آذر 1389، 10:49 ق‌ظ
سلام و عرض ادب  ;)

من تیکه کد زیر رو توی gedit وارد کردم ولی از طریق ترمینال با هردوی کامپایلر های g++ & gcc ارور میده.
[left]# include "stdio.h"

main()
{
int num=123;
int *pnum;
printf("num is %d\n",num);
printf("The address of num is %d\n",&num);
pnum=#
printf("pnum is %d\n",pnum);
printf("*pnum is %d\n",*pnum);
return 0;
}[/left]

این هم از ارور
[left]format '%d' expects type 'int', but argument 2 has type 'int *'
format '%d' expects type 'int', but argument 2 has type 'int *'[/left]

البته این کد توی ویندوز با visual studio بدون مشکل اجرا میشه
توی qt (اوبونتو) هم امتحان کردم بدون مشکل اجرا شد


مشکل دیگه ای که به وجود اومده این هست که وقتی توی qt از توابع دریافت ورودی مثل scanf و... استفاده میکنم برنامه کامپایل میشه ولی وقتی میخواد برنامه رو اجرا کنه توی اجرا میمونه (البته نه هنگ میکنه و نه ارور میده)

مثلا یه همچسن کدی رو
[left]main()
{
int a;
printf("Enter a number:");
scanf("%d",&a);
return 0;
}[/left]
اجرا نمیکنه
و توی compile output می نویسه
make : nothing to be done for 'first' .و اگر که تابع scanf رو حذف کنیم برنامه بدون مشکل اجرا میشه!

حالا به نظر شما اساتید چه باید کرد؟

عنوان: پاسخ به: ناتوانی در کامپایل به کمک gcc
ارسال شده توسط: doomhammer65ir در 25 آذر 1389، 11:40 ق‌ظ
اینها ایراد نیست . هشدار است . مشکلی نیست . اجرا کنید
#include "stdio.h"

int main()
{
int num=123;
int *pnum;
printf("num is %d\n",num);
printf("The address of num is %d\n",&num);
pnum=#
printf("pnum is %d\n",pnum);
printf("*pnum is %d\n",*pnum);
return 0;
}
+++++++++++++
با QT و سی کار نکرده ام ولی این کد ها را بجای کد هاتان بنشانید شاید درست شد :
#include <iostream>
.
.
.
cout<<"enter a:";
cin>>a;
عنوان: پاسخ به: ناتوانی در کامپایل به کمک gcc
ارسال شده توسط: سید وحید رضا برهانی در 25 آذر 1389، 11:56 ق‌ظ
سلام
جای من که درسته مطمئنی درست نوشتی؟
http://dl.dropbox.com/u/14392182/13.jpeg
عنوان: پاسخ به: ناتوانی در کامپایل به کمک gcc
ارسال شده توسط: Sir-Shadow در 25 آذر 1389، 10:39 ب‌ظ
doomhammer65ir جان به نکته ریزی اشاره کردی، ممنون!
البته کد هایی که دادی به کار من نمیاد به نظر میرسته که cpp باشه، متعصفانه نیاز به c دارم.

و اما شما سید وحید رضا برهانی
اول تشکر
دوم
مشکل اولم این بود که این کدی که عکسش رو گذاشتی ارور میداد که البته مشخص شد ارور نبوده و هشدار بوده(درضمن مشکل من با gedit و کامپایل از طریق ترمینال بود وگر نه همون بالا هم گفتم که توی qt بدون مشکل اجرا میشه)
اگر که قسمت آخر متنم رو بخونی نوشتم qt با توابع ورودی مثل scanf مشکل داره

این مشکل با توابع ورودی رو چیکار کنم؟
عنوان: پاسخ به: ناتوانی در کامپایل به کمک gcc
ارسال شده توسط: sisyphus در 25 آذر 1389، 11:02 ب‌ظ
به پیغام‌هایی که می‌ده بیشتر توجه کن.
در مورد اول gcc بهت شماره‌ی خط و مشکل رو گفته، جای %d انتظار int داره، ولی تو بهش int * دادی.

عنوان: پاسخ به: ناتوانی در کامپایل به کمک gcc
ارسال شده توسط: Sir-Shadow در 25 آذر 1389، 11:16 ب‌ظ
من یه متغیر به نام num مشخص کردم که از نوع int هست، من میخوام آدرس این متغییر یعنی num& رو چاپ کنم و اصولا آدرس متغییرها هم از نوع int هست مگر این که من اشتباه میکنم.
البته همان طور که دوستمون doomhammer65ir اشاره کرد این پیام فقط یه هشدار هست و برنامه بدون مشکل اجرا میشه!


از این قسمت بگذریم لطفا به قسمت دوم سوالم بپردازید(مشکل با QT)!

درضمن خیلی حال کردم، بچه های این فروم به سرعت نور پاسخ آدم رو میدن  ;)