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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: مشکل در کامپایل یک برنامه C  (دفعات بازدید: 9134 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین Arman_gh

  • Jr. Member
  • *
  • ارسال: 34
مشکل در کامپایل یک برنامه C
« : 05 امرداد 1386، 09:28 ق‌ظ »
سلام دوستان هنگامی که می‌خواهم برنامه زیر را کامپایل کنم

#include <stdio.h> int main(){ printf("my name is arman"); return 0; }
با خطای زیر روبرو می‌شوم

1.c:1:19: error: stdio.h: No such file or directory 1.c: In function ‘main’: 1.c:3: warning: incompatible implicit declaration of built-in function ‘printf

راستی من با دستور زیر برنامه خودم را کامپایل می‌کنم

gcc 1.c -o 1
People should not be afraid of their government,Government should be afraid of their people
مردم نباید از دولت هایشان بترسند,این دولت ها هستند که باید از مردم شان بترسند.
پاره ای از گفتگوی میان V و Evey در فیلم V FOR VENDETA که در اصل گفته توماس جفرسون سومین ریس جمهور آمریکا است

آفلاین Arman_gh

  • Jr. Member
  • *
  • ارسال: 34
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #1 : 09 امرداد 1386، 09:55 ق‌ظ »
دوستان کسی نیست پاسخ من را بدهد؟
People should not be afraid of their government,Government should be afraid of their people
مردم نباید از دولت هایشان بترسند,این دولت ها هستند که باید از مردم شان بترسند.
پاره ای از گفتگوی میان V و Evey در فیلم V FOR VENDETA که در اصل گفته توماس جفرسون سومین ریس جمهور آمریکا است

آفلاین omid

  • Full Member
  • *
  • ارسال: 130
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #2 : 09 امرداد 1386، 10:41 ق‌ظ »
من همون رو کامپایل کردم مشکلی نبود البته به این صورت:

#include <stdio.h>
int main()
{
printf("my name is arman");
return 0;
}


آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #3 : 09 امرداد 1386، 10:52 ق‌ظ »
چیزی که مشخصه اینه که هدر فایل stdio.h موجود نیست.
البته میتونید اون رو از جایی دیگه کپی و در پوشه /usr/include/و یا /usr/include/c++/ بریزید.
این کدها رو امتحان کن:
#include <cstdio>
using namespace std;
 int main()
{
 printf("my name is arman\n");
 return 0;
}
کدها در سی پلاس هستند که میتونید در اون از سی استاندارد نیز استفاده کنید.
فایل رو با نام hello .cppذخیره کنید.
برای کامپایل هم:
g++ hello.cpp -o helloبرای اجراش هم:
./hello
« آخرین ویرایش: 09 امرداد 1386، 10:59 ق‌ظ توسط hasannoori »

آفلاین مرتضی علیرضایی

  • Full Member
  • *
  • ارسال: 214
  • جنسیت : پسر
    • ALIREZAEI.ir
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #4 : 09 امرداد 1386، 11:02 ق‌ظ »
من هم اوایل کار این مشکلات را داشتم. ولی حالا دیگه تمام بسته های سی و سی پلاس را نصب میکنم. هیچ مشکلی واسه کامپایل نیست.
این چند روز هم چند تا فایل هدر جدید EssyBMP و Magick گرفتم اونها هم راحت کامپایل شد.

آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
کامپایل یک برنامه C جهت اجرا در ویندوز
« پاسخ #5 : 10 امرداد 1386، 10:37 ق‌ظ »
دوستان یک سوال مهم دارم.
آیا امکان این وجود دارد که کدهایی که در محیط گنو/لینوکس نوشته ایم طوری کامپایل کرد که در
ویندوز نیز کارایی داشته باشد.
یعنی بشود آنها را در محیط سیستم عامل لینوکس برای ویندوز کامپایلف کرد؟
ترجیحا از کامپایلر گنو استفاده نمود!
« آخرین ویرایش: 10 امرداد 1386، 10:43 ق‌ظ توسط hasannoori »

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #6 : 10 امرداد 1386، 10:48 ق‌ظ »
دوستان یک سوال مهم دارم.
آیا امکان این وجود دارد که کدهایی که در محیط گنو/لینوکس نوشته ایم طوری کامپایل کرد که در
ویندوز نیز کارایی داشته باشد.
اگه کامپایلشون کنی 100٪ غیر ممکن هستش چون دو تا سیستم  عامل 100٪ با هعم فرق دارن .اگه نداشتن که الان ویندوز و بقیه سیستم عامل ها اصلا وجود نداشتن .
اگه تو پایتون و پرل و یا زبان های اسکریپتی دیگه بنویسی با کمی تغییر در همه سیستم عامل ها قابل اجرا هستن . و باز به شرطی که کامپایل نشن مثلا از فایلهای پایتون رو ویندوز Exe درست نکنی

آفلاین arman_o71

  • Full Member
  • *
  • ارسال: 183
  • جنسیت : پسر
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #7 : 10 امرداد 1386، 11:06 ق‌ظ »
می‌شه ولی با لینوکس نه
یعنی کد رو طوری بنویسی که با چیزهایی مثل cygwin یا ++MSVC کامپایل بشه

البته چیزهایی مثل Net. این قابلیت رو دارند که روی چند سیستم عامل بدون تغییر اجرا شوند
One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.

    Robert Firth

lomion

  • مهمان
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #8 : 10 امرداد 1386، 08:54 ب‌ظ »
امکان داره.
 اگه از کد C استاندارد استفاده کنید. اینطوری کامپایلرها میتونن کامپایل کنن. یا اینکه با ابزاری مثل MinGW کامپایل کنید که همون gcc تحت ویندوزه ولی محدود.

آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
کامپایل یک برنامه C جهت اجرا در ویندوز
« پاسخ #9 : 11 امرداد 1386، 10:27 ق‌ظ »
متوجه سوال من نشدید !
من فقط خواستم طوری کامپایل بشه که تو ویندوز اجرا بشه و نه در هر دو سیستم.
یعنی تو لینوکس بنویسم و البته همونجا طوری کامپایل کنم که تو ویندوز اجرا بشه!
امیدوارم سوال مفهوم باشه :-X
« آخرین ویرایش: 11 امرداد 1386، 10:28 ق‌ظ توسط hasannoori »

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #10 : 11 امرداد 1386، 11:02 ق‌ظ »
می تونید از زبان برنامه نویسی پایتون استفاده کنید و خروجی exe  داشته باشید .

آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #11 : 11 امرداد 1386، 11:23 ق‌ظ »
من پایتون بلد نیستم :-[

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #12 : 11 امرداد 1386، 03:46 ب‌ظ »
کل سیستم عامل ویندوز عجغ وجغ هستش و دلم نمی خواد بیشتر از این فکرمو براش معطل کنم

آفلاین arman_o71

  • Full Member
  • *
  • ارسال: 183
  • جنسیت : پسر
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #13 : 11 امرداد 1386، 11:10 ب‌ظ »
امتحانش نکردم ولی می‌تونی از winegcc و ++wineg استفاده کنی این قابلیت رو دارن
One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.

    Robert Firth

آفلاین hasannoori

  • Sr. Member
  • *
  • ارسال: 423
  • جنسیت : پسر
    • ق
پاسخ به: مشکل در کامپایل یک برنامه C
« پاسخ #14 : 18 امرداد 1386، 10:33 ق‌ظ »
دوستان مشکل دیگری در کامپایل برنامه های سی و سی پلاس هست:
--------------
یک واقعه عجیب
برنامه ساده زیر رو در نظر بگیرید:#include <iostream>
using namespace std;

int main ()
{
    cout << "  Hello! This is a console app." << endl;
       
return 0;   
}
خوب حتما میفرمایید که بسیار ساده است و بسادگی هم باید کامپایل و اجرا بشه!
حالا نتیجه کامپایل رو ببینید:$ gcc hello.cpp -o hello
/tmp/cczclmyY.o: In function `__static_initialization_and_destruction_0(int, int)':
hello.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()'
/tmp/cczclmyY.o: In function `__tcf_0':
hello.cpp:(.text+0x6c): undefined reference to `std::ios_base::Init::~Init()'
/tmp/cczclmyY.o: In function `main':
hello.cpp:(.text+0x8e): undefined reference to `std::cout'
hello.cpp:(.text+0x93): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
hello.cpp:(.text+0x9b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
hello.cpp:(.text+0xa3): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
hello.cpp:(.text+0xb2): undefined reference to `std::cout'
hello.cpp:(.text+0xb7): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
hello.cpp:(.text+0xbf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
hello.cpp:(.text+0xc7): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
hello.cpp:(.text+0xd6): undefined reference to `std::cout'
hello.cpp:(.text+0xdb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
hello.cpp:(.text+0xe3): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
hello.cpp:(.text+0xeb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/cczclmyY.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
البته وقتی هم که از دستور cc hello.cpp -o hello هم استفاده کردم نتیجه مشابهی گرفتم، ولی از همه عجیبتر اینه که وقتی اون رو با دستور زیر کامپایل کردم:$ g++ hello.cpp -o hello
$ ./hello

Hello! This is a console app.
به خوبی کامپایل و اجرا شد.  :o
کسی توجیحی برای این مورد داره!؟