الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

يا إخوان اطلب C compiler لله

بدأه العاقب في 23 يونيو 2010 · 12 رد · 1,528 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ،إخواني في الله

بدأت حديثاً بتعلم السي C ولكن للاسف دخلت في متاهة اسمها المترجمات

والله يا إخوان ما تركت شيئاً على الشبكة اسمه مترجم إلا وحملته ولكن المشكلة

أن بعضها لا يعمل والآخر يعمل ولكن يقبل شفرات الC++ وعندما أحاول كتابة الشفرات التي

أعرفها تنهال علي رسائل الأخطاء ،فيا ريت يا إخوان لو حد عارف له موقع لC compiler

أو لو يقدر يرفقه في ملف ما يبخلش علي ،وأنا أفضل إنه يكون مترجم للسي فقط وليس

C++ أيضاً حتى استطيع أن أفرق بين شفرات السي والسي++ بحكم

أني مبتدئ،وانا حملت C turbo 3 من أربعة مواقع مختلفة

ولكن للاسف كل مرة نفس الخطأ عند تشغيل البرنامج

16 bit MS-DOS Subsystem
Turbo C++ IDE
The NTVDM CPU has encountered an illegal instruction
CS:0000 IP:0075 OP:f0 00 f0 37 05 Choose 'Close' to terminate the application

وأنا خشيت على منتدى الDelphi ولقيت عندهم موضوع مثبت

لتحميل جميع إصدارات الDelphi ،فقلت يا ليت لو كان عندنا كدة برضه

وانا طلباتي ما بتخلصش يا جماعة فاستحملوني شوية :blush:

يعني يا ليت لو حد عنده كتب C أو يعرف له اسم كتاب حتى لو كان بالإنجليزي مش مشكلة يا ليت يا إخوانا يكرمني به

آسف عارف إني طولت عليكم ،بس ربنا يجعله في ميزان حسناتكم

تم تعديل هذه المشاركة بواسطة العاقب في 23 يونيو 2010 في 15:03

#2

أعتقد أن المشكلة من برنامجك

لكن هذا كومبايلر جيد

http://www.mingw.org/

A man who wants to lead the orchestra must turn his back on the crowd

#3
0xAli كتب:

أعتقد أن المشكلة من برنامجك

لكن هذا كومبايلر جيد

http://www.mingw.org/

جزاك الله خيراً أخي ولكن هذا نفس المترجم اللي عندي :wacko:

وأنا ما اعتقدش إن المشكلة من برنامجي

لأني حملته عدة مرات ومن مواضيع مختلفة ولكن....

#4

بص يا أخي, أنا عن نفسي أستخدم نظام التشغيل لينوكس الذي يوجد معه (إفتراضيا) مترجم للسي وأخر للسي++

بالنسه لمترجم السي فأقوم بإستدعائه بالأمر gcc

أما مترجم السي++ فأقوم بإستدعائه بالأمر g++

و بما أني أعتقد أن ال mingw هو porting لل gcc لبيئة الويندوز, فبالتالي يجب أن تجد هذان الأمران موجودين في المجلد bin (او ما شابه)

قم بالبحث عنهما في جهازك, و في حال أنك وجدت الأمرين, فقم بإستخدام محرر نصوص مثل Notepad++ لكتابة البرامج, و إن أردت أن تترجم ك C إستخدم الأمر gcc , و إن أردت أن تترجم ك C++ إستخدم الأمر g++. هكذا أفعل.

#5
هويدي كتب:

بص يا أخي, أنا عن نفسي أستخدم نظام التشغيل لينوكس الذي يوجد معه (إفتراضيا) مترجم للسي وأخر للسي++

بالنسه لمترجم السي فأقوم بإستدعائه بالأمر gcc

أما مترجم السي++ فأقوم بإستدعائه بالأمر g++

و بما أني أعتقد أن ال mingw هو porting لل gcc لبيئة الويندوز, فبالتالي يجب أن تجد هذان الأمران موجودين في المجلد bin (او ما شابه)

قم بالبحث عنهما في جهازك, و في حال أنك وجدت الأمرين, فقم بإستخدام محرر نصوص مثل Notepad++ لكتابة البرامج, و إن أردت أن تترجم ك C إستخدم الأمر gcc , و إن أردت أن تترجم ك C++ إستخدم الأمر g++. هكذا أفعل.

أجل أخ هويدي وجدت ملف يسمى GCC وبداخله cc1 و cc1plus

ووضعت الشفرة في ملف txt ولكن كيف أشغلها؟؟؟؟؟؟

#6
اقتباس
أجل أخ هويدي وجدت ملف يسمى GCC وبداخله cc1 و cc1plus
wacko.gif

أين كان:

لنفرض أنك لديك ملف C موجود على ال

D:\mywork\hello_world.c

إذهب إلى

D:\mywork\

إكتب

gcc hello_world.c

ستجد ملف تنفيذي قد تم إنشائه في نفس المجلد, قم بتنفيذه

a.exe
#7

أرجوك أخ هويدي خدني براحة كدة على قد عقلي :wacko:

أولاً أخي قلت لي استخدم محرر نصوص مثل الnotepad يعني بعد كدة احفظه بامتداد ".c"؟؟؟؟؟؟

ثانياً أخي

هذا المسار C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2 يحتوي على ثلاثة ملفات تنفيذية c1,c1plus,collect2

أما ملف ال bin الذي ذكرته لي والذي يحتوي على g++ ,gcc فإنه عند الضغط عليهما

تظهر شاشة سوداء وتختفي بسرعة

تم تعديل هذه المشاركة بواسطة العاقب في 23 يونيو 2010 في 16:04

#8
اقتباس
أولاً أخي قلت لي استخدم محرر نصوص مثل الnotepad يعني بعد كدة احفظه بامتداد ".c"؟؟؟؟؟؟
أيوه
اقتباس

أما ملف ال bin الذي ذكرته لي والذي يحتوي على g++ ,gcc فإنه عند الضغط عليهما

يا أخي, ال bin ليس ملف, بل مجلد (حاول أن تفرق بينها)

أيوه, هذان ما نبحث عنها, لكن لا تقم بالضغط عليها, بل قم بتنفيذهما من سطر الأوامر...

قم بتنفيذ الأمر التالي:

اقتباس

C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2\bin\gcc hello_world.c

ماشي الحال؟

#9
هويدي كتب:

ماشي الحال؟

انا حاسس كاني ما عملت شي

قمت بالخطوات السابقة ولكن نفس الأخطاء اللي كان يقولي عليها الcompiler

a.c:1:22: no include path in which to search for stdio.h
 main

a.c: In function `main':
a.c:6: warning: return type of 'main' is not `int'
 squared

Execution times (seconds)
 parser                :   0.01 (100%) usr
 TOTAL                 :   0.01

وقد حول الملف من امتداد ".c" الى ".s"

هذه هي الشفرة التي أريد أن أقوم بتنفيذها هل فيها خطأ؟؟؟؟؟

   #include <stdio.h>
 int squared(int x);
 void main(void)
 {
   int x,y;
   for(x=0; x<11; x++)  
   {
     y = squared(x);  
     printf("%02d squared = %03d\n",x,y);
   }
 }
 int squared(int indat)
 {
   return indat * indat;
 }

أنا عارف إنك مشغول جداً أخي هويدي علشان كدة

أنا حأنتظر لمن حد تاني يرد علي ومتشغلش نفسك إنت

والله أنت ماقصرت معي و جزاك الله خيراً ونردها لك إن شاء الله

تم تعديل هذه المشاركة بواسطة العاقب في 23 يونيو 2010 في 17:49

#10

اولا قم بتحميل المترجم من هذا الموقع http://tdm-gcc.tdragon.net/ (اختر tdm-gcc-4.5.0) .

هذا المترجم هو نفسه المترجم Mingw ولكن بإصدار أحدث و سهل التثبيت .

بعد ذلك توجه إلى سطر الأوامر واكتب هذا الأمر ( gcc -v ). إذا ظهر شيء مشابه للصورة التالية فكل شيء تمام.

45377128.jpg

لنفترض أن لدينا ملف باسم mycode.c موجود في مجلد Documents .

من خلال سطر الأوامر ننتقل إلى مجلد Documents بالأمر التالي:

cd Documents

وبعدها نقوم بترجمة الملف بالأمر التالي:

gcc mycode.c -o result

ولتشغيل الكود بعد الترجمة نكتب اسم البرنامج والذي يأتي بعد " o- " وهو في هذه الحالة result .

34021490.jpg

لترجمة كود ++C قم بتحويل gcc إلى ++g

وبالتوفيق.

تم تعديل هذه المشاركة بواسطة nice guy في 23 يونيو 2010 في 19:10

1
#11

إخواني الأعزاء

بفضل الله أولاً ثم بفضلكم تم حل جميع المشاكل المذكورة

وشكر خاص جداً جداً ليك أخوي هويدي وإنا أوعدك إن الليلة دة آخر يوم أكون

أزعجتك فيه بإذن الله وامسحها في وشي وليك أجمل تحية(أخوك محمد)

nice guy كتب:

اولا قم بتحميل المترجم من هذا الموقع http://tdm-gcc.tdragon.net/ (اختر tdm-gcc-4.5.0) .

هذا المترجم هو نفسه المترجم Mingw ولكن بإصدار أحدث و سهل التثبيت .

بعد ذلك توجه إلى سطر الأوامر واكتب هذا الأمر ( gcc -v ). إذا ظهر شيء مشابه للصورة التالية فكل شيء تمام.

لنفترض أن لدينا ملف باسم mycode.c موجود في مجلد Documents .

من خلال سطر الأوامر ننتقل إلى مجلد Documents بالأمر التالي:

cd Documents

وبعدها نقوم بترجمة الملف بالأمر التالي:

gcc mycode.c -o result

ولتشغيل الكود بعد الترجمة نكتب اسم البرنامج والذي يأتي بعد " o- " وهو في هذه الحالة result .

لترجمة كود ++C قم بتحويل gcc إلى ++g

وبالتوفيق.

الله يجزيك كل خير أخي الكريم وجاري تجربة المترجم

وليك الف شكر على الشرح الرائع

#12

هلا و سهلا فيك أخوي

أنا مثلك أخوي مبتدئ في السي و حاس بمعاناتك مع الكمبايلر

فرفعت لك برنامجين أتمنى إنهم يفيدونك

البرنامج الأول Turbo C

و هذا الرابط تبعه

http://www.mediafire.com/?kwyzngejwom

البرنامج الثاني Dev-C++

و هذا الرابط تبعه

http://www.mediafire.com/?nwnzmzi3jdw

البرنامجين يشتغلون على كل اصدارات وندوز بشكل ممتاز و الحمدلله ما واجهت فيهم مشاكل

البرنامجين اثنينتهم فيهم محرر تكتب فيه الكود و فيه كمبايلر و أيضاً يعملون لك ملفات الـ exe و إذا كودك فيه اخطاء يعلمونك الخطأ في أي سطر يعني بريحونك

الـ Turbo C

أفضل من الـ Dev في اكتشاف الاخطاء لكن مشكلته أحياناً إذا عملت Run للبرنامج و كان فيه خطأ يعلق البرنامج و يمكن يروح كودك اللي كتبته

فإذا استخدمته احرص دايماً تعمل Save قبل ما تسوي run للبرنامج

الـ Dev-C++

احدث و واجهته افضل و يحط الكود بالوان عشان يكون اوضح ولا فيه مشاكل تعليق أبداً

لكن فيه شغله مهمه إذا كتبت أي كود C

لازم تضيف الـ stdlib.h library و في نهاية الكود في الـ main function لازم تكتب هالأمر system("pause") و يكون قبل الـ return 0

يعني زي كذا بداية الكود

#include<stdlib.h>

و في النهاية

system("pause");
return 0;

تم تعديل هذه المشاركة بواسطة tik_tak في 23 يونيو 2010 في 21:01

#13
tik_tak كتب:

هلا و سهلا فيك أخوي

أنا مثلك أخوي مبتدئ في السي و حاس بمعاناتك مع الكمبايلر

فرفعت لك برنامجين أتمنى إنهم يفيدونك

الله يكرمك أخي العزيز

وصحيح: إن المصائب يجمعن المصابين :lol:

هذا بالضبط ما كنت أيحث عنه Turbo C والله اللي نزلتهم كلهم ما اشتغلوا

والحمد لله أخيراً لقيته ،ربنا يجزيك خير الجزاء أخوي العزيز

تم تعديل هذه المشاركة بواسطة العاقب في 23 يونيو 2010 في 21:55

مواضيع مشابهة