الخارق
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
الخارق
مرحباً بكم في شبكة ومنتديات الخارق
الخارق
::
مواضيع الكبيوتر والإنترنت
::
منتدى البرمجة
::
منتدى البرمجة بلغة السي++
مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم
كاتب الموضوع
رسالة
Admin
Admin
عدد الرسائل
:
55
العمر
:
34
sms
:
مدير المنتدى ربيع عبده صالح
البمن / صنعاء
734664936
تاريخ التسجيل :
07/01/2008
موضوع: مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم
الجمعة مارس 14, 2008 10:13 am
بسم الله الرحمن الرحيم
مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم gcc
++++++++++++++++++++
هذا الدرس هو عبارة عن مقدمة إلى سلسلة دروس عن البرمجة بلغة سي تحت نظام التشغيل لنكس.
ربما يتبادر إلى ذهن البعض سؤال و هو : ما هو الفرق بين البرمجة بلغة سي في نظام وندوز و لنكس ؟
الرد على هذا السؤال هو:
أن السي القياسية ANCI C لا تختلف في أي من أنظمة التشغيل سواء كان لنكس أو وندوز أو ماكنتوش ... إلخ
و لكن هناك بعض الدوال التي تساعد المبرمج في فعل ما يريد بطريقة أسهل و هذه الدوال تسمى بالـ system calls
أي الدوال المدعومه من قبل نظمام التشغيل نفسه و ليست اللغة و هنا يصبح البرنامج مقيد بنظام تشغيل معين
مثال على ذلك دوال الـ win API الموجوده في الوندوز.
في هذه السلسلة سنتعلم هذه الدوال الخاصة بلنكس أما لمن يريد معرفة الدوال الخاصة بوندوز يمكنه مراجعة قسم البرمجة
تحت وندوز في قسم الدروس.
في أول خطوه قبل البدأ في هذه الدروس لابد من معرفة كيفية ترجمة Compile للبرنامج و من أشهر المترجمات الموجوده في نظام
لنكس على الإطلاق هو الـ GNU gcc و يطلق عليه البعض gcc أو GNU.
أولاً: كتابة أول برنامج بلغة سي في بيئة لنكس:
أولاً لابد من وجود محرر لكي نستطيع كتابة برنامجنا داخله و أنا أفضل محرر emacs كثيراً.
عند بداية تشغيل لنكس في وضع الكونسول Console Mode أي الشاشة السوداء سيكون شكلها تقريباً كالآتي:
http://www.c4arab.com/images/lessons/programming/linux/1.PNG
الآن أكتب:
emacs file_name.c
حيث الـ file_name هو إسم ملفك و حرف السي C الموجود في الأخير هو دليل أن الملف هو ملف لغة سي.
الآن لنكتب:
emacs first.c
كما هو واضح في الصوره:
http://www.c4arab.com/images/lessons/programming/linux/2.PNG
الآن سينفتح المحرر و ما علينا إلى كتابة الكود و حفظه.
لنكتب هذا الكود في المحرر:
#include "stdio.h"
int main()
{
printf("hello, world");
return 0;
}
ثم لنقوم بحفظ الملف عن طريق الضغط على زر ctrl + x ثم ctrl + s أي إضغط على ctrl + x ثم إستمر في الضغط على ctrl و إضغط على s.
الآن قمنا بحفظ العمل و علينا الخروج من برنامج emacs لترجمة البرنامج و طريقة الخروج هي ctrl + x ثم ctrl + c كما في الطريقة السابقة.
لمعرفة المزيد عن إختصارات لنكس راجع قسم أنظمة التشغيل قسم لنكس و يونكس يوجد درس فيه بهذا الشأن للأخ مرشد.
الآن علينا ترجمة البرنامج و التأكد من انه لا يوجد به أخطاء و ذلك عن طريق كتابة:
cc file_name.c
و الـ file_name هو إسم الملف الذي تريد ترجمته.
الآن لنترجم ملفنا first.c كما هو واضح في الصوره:
http://www.c4arab.com/images/lessons/programming/linux/3.PNG
إذا كان هناك أخطاء فسيقوم البرنامج بذكرها و إن لم يكن هناك شيئ سيكمل كل شيئ بشل طبيعي كما في الصوره:
http://www.c4arab.com/images/lessons/programming/linux/4.PNG
لكي ترى كيف تظهر الأخطاء قم بعمل برنامج به خطأ و قم بترجمته.
الآن نصل إلى الخطوه الأخيره و هي تنفيذ البرنامج و الملف التنفيذي الإفتراضي هو a.out/.
فما علينا إلا أن نكتب الآتي لكي نرى تنفيذ البرنامج كما هو واضح في الصوره::
http://www.c4arab.com/images/lessons/programming/linux/5.PNG
و الآن لنرى هذا التنفيذ في هذه الصوره:
http://www.c4arab.com/images/lessons/programming/linux/6.PNG
أما إذا كنت ترى أن a.out/. طويله أو معقده بعض الشيئ يمكنك أن تكتب الأمر التالي عن مرحلة الترجمه:
cc file_name.c -o exe_file_name
حيث أن cc مطلوب للترجمة ثم file_name.c هو إسم الملف الذي تريد ترجمتة ثم تكتب o- ثم إسم الملف التنفيذي الذي تريده
و عندما تريد ان تنفذ برنامج فما عليك إلا كتابة /. ثم إسم برنامج أي كالآتي:
./exe_file_name
مع العلم أن الكلمة cc الموجوده عند الترجمة ممكن أن تستبدل لكلمة gcc فهما سيان.
والآن أصبحنا قادرين على كتابة برنامج بلغة سي و ترجمته و معرفة أخطائة و تنفيذه في بيئة لنكس تحت المترجم gcc.
و كنوع من التدريب قم بعمل عذة برامج لكي تألف بيئة التطوير.
و في الختام أُذكر أن هذا الدرس هو مقدمة عن البرمجة تحت بيئة لنكس بلغة سي و سندرس في الدروس القادمة
عن بعض الـ system calls مثل fork و pipe و dup2 و نظام الملفات ... إلخ.
و هذه الدوال تساعد في أن نعمل برنامجين يعملان في نفس الوقت Multi processes و أن نجعل برنامجين يتخاطبان مع بعضهما
البعض و يتبادلان المتغيرات بينهما.
بقلم / هارون محمد عمر
أعجبني
لم يعجبني
مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم
صفحة
1
من اصل
1
مواضيع مماثلة
مواضيع مماثلة
صلاحيات هذا المنتدى:
لاتستطيع
الرد على المواضيع في هذا المنتدى
الخارق
::
مواضيع الكبيوتر والإنترنت
::
منتدى البرمجة
::
منتدى البرمجة بلغة السي++
الخارق
::
مواضيع الكبيوتر والإنترنت
::
منتدى البرمجة
::
منتدى البرمجة بلغة السي++
انتقل الى:
اختر منتدى
|
|--مواضيع الكبيوتر والإنترنت
| |--الكمبيوتر
| |--قسم الاختراقات
| |--منتدى البرمجة
| | |--منتدى البرمجة بلغة السي++
| | |--منتدى البرمجة بلغة الفجول بيسك
| | |--اللغات الأخرى
| |
| |--منتدى الصيانة
| |--منتدى التصاميم
|
|--مواضيع كروية هامة
|--منتدى الثقافة الإسلامية
|--المنتدى العام
|--عالم المرءاة
|--الفئة الأولى
|--المنتدى الأول