الخارق
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

الخارق

مرحباً بكم في شبكة ومنتديات الخارق
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم

اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin



عدد الرسائل : 55
العمر : 34
sms : مدير المنتدى ربيع عبده صالح
البمن / صنعاء
734664936
تاريخ التسجيل : 07/01/2008

مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم Empty
مُساهمةموضوع: مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم   مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم Icon_minitimeالجمعة مارس 14, 2008 10:13 am

بسم الله الرحمن الرحيم


Very Happy مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم 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 و أن نجعل برنامجين يتخاطبان مع بعضهما

البعض و يتبادلان المتغيرات بينهما.

lol! بقلم / هارون محمد عمر
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://alkharig.yoo7.com
 
مقدمة في البرمجة تحت لنكس بلغة سي و طريقة إستعمال المترجم
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
الخارق :: مواضيع الكبيوتر والإنترنت :: منتدى البرمجة :: منتدى البرمجة بلغة السي++-
انتقل الى: