العودة   منتديات عشاق السودان > منتديات الكمبيوتر والإنترنت > منتدى البرمجة
التسجيل مستضيف الصور التعليمـــات قائمة الأعضاء التقويم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع طرق مشاهدة الموضوع
قديم 21-09-2005, 18:37   رقم المشاركة : 1 (permalink)
معلومات العضو
demon
عضو مميز
 
الصورة الرمزية demon
 

 

 
إحصائية العضو








demon غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 20
demon is on a distinguished road

 

 

برمج بلعة C داخل لينكس

هذا الدرس هو عبارة عن مقدمة إلى سلسلة دروس عن البرمجة بلغة سي تحت نظام التشغيل لنكس.

ربما يتبادر إلى ذهن البعض سؤال و هو : ما هو الفرق بين البرمجة بلغة سي في نظام وندوز و لنكس ؟

الرد على هذا السؤال هو:

أن السي القياسية ANCI C لا تختلف في أي من أنظمة التشغيل سواء كان لنكس أو وندوز أو ماكنتوش ... إلخ

و لكن هناك بعض الدوال التي تساعد المبرمج في فعل ما يريد بطريقة أسهل و هذه الدوال تسمى بالـ system calls

أي الدوال المدعومه من قبل نظمام التشغيل نفسه و ليست اللغة و هنا يصبح البرنامج مقيد بنظام تشغيل معين

مثال على ذلك دوال الـ win API الموجوده في الوندوز.

في هذه السلسلة سنتعلم هذه الدوال الخاصة بلنكس أما لمن يريد معرفة الدوال الخاصة بوندوز يمكنه مراجعة قسم البرمجة

تحت وندوز في قسم الدروس.

في أول خطوه قبل البدأ في هذه الدروس لابد من معرفة كيفية ترجمة Compile للبرنامج و من أشهر المترجمات الموجوده في نظام

لنكس على الإطلاق هو الـ GNU gcc و يطلق عليه البعض gcc أو GNU.



أولاً: كتابة أول برنامج بلغة سي في بيئة لنكس:



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

عند بداية تشغيل لنكس في وضع الكونسول Console Mode أي الشاشة السوداء سيكون شكلها تقريباً كالآتي:



الآن أكتب:

emacs file_name.c

حيث الـ file_name هو إسم ملفك و حرف السي C الموجود في الأخير هو دليل أن الملف هو ملف لغة سي.

الآن لنكتب:

كود:
emacs first.c
كما هو واضح في الصوره:



الآن سينفتح المحرر و ما علينا إلى كتابة الكود و حفظه.

لنكتب هذا الكود في المحرر:

كود:
#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 كما هو واضح في الصوره:


إذا كان هناك أخطاء فسيقوم البرنامج بذكرها و إن لم يكن هناك شيئ سيكمل كل شيئ بشل طبيعي كما في الصوره:


لكي ترى كيف تظهر الأخطاء قم بعمل برنامج به خطأ و قم بترجمته.



الآن نصل إلى الخطوه الأخيره و هي تنفيذ البرنامج و الملف التنفيذي الإفتراضي هو
كود:
a.out/.
فما علينا إلا أن نكتب الآتي لكي نرى تنفيذ البرنامج كما هو واضح في الصوره:




و الآن لنرى هذا التنفيذ في هذه الصوره:


http://www.c4arab.com/images/lessons...ng/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 و أن نجعل برنامجين يتخاطبان مع بعضهما

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

المصدر:الموسوعة العربية

التوقيع


التعديل الأخير تم بواسطة : demon بتاريخ 21-09-2005 الساعة 18:44.
demon غير متواجد حالياً   رد مع اقتباس
قديم 10-10-2005, 12:08   رقم المشاركة : 2 (permalink)
معلومات العضو
aboelmozn
عضو متواصل
 
إحصائية العضو








aboelmozn غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
aboelmozn is on a distinguished road

 

 

شكرا ً للاخ ديمون على هذه المعلومة الجميلة.
اذكرك اخي ديمون بان لغتنا الجميلة Delphi تعمل تحت بيئة Linux بمسمى kiylex
ويمكن استعمال كودك المكتول بالديلفي للويندوز نفسه بعد عملCompile له من جديد في الkiylexدون الحوجة لتعديل الكود.

التوقيع


mazin2831@yahoo.com

aboelmozn غير متواجد حالياً   رد مع اقتباس
قديم 18-01-2006, 18:26   رقم المشاركة : 3 (permalink)
معلومات العضو
محمد الصديق
عضو جديد
 
إحصائية العضو








محمد الصديق غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
محمد الصديق is on a distinguished road

 

 

أقترح التوسع والاستفاضة في هذا الموضوع
محمد الصديق غير متواجد حالياً   رد مع اقتباس
رد


أدوات الموضوع
طرق مشاهدة الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


الساعة الآن: 14:03


Powered by vBulletin® Version 3.6.8, Copyright ©2000 - 2008, Tranz By Almuhajir
جميع الآراء والتعليقات المطروحة تمثل وجهة نظر كاتبها وليس بالضرورة وجهة نظر الموقع
SudaBest.net SudaBest.net

Search Engine Optimization by vBSEO 3.2.0 RC5

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98