قواعد المشاركة في المنتدى

(أخبار التكنولوجيا) الموضوع:مصدر الخضار والفواكه موثوقة المصدر بواسطة: (رفيف الحياه) :: (قسم الاعلانات) الموضوع:افضل موقع لتحميل الاغاني mp3 مجانا بدون اعلانات بواسطة: (كريم يونس) :: (قسم الاعلانات) الموضوع:برنامج مبيعات باللغة العربية بواسطة: (alaatamer1) :: (قسم الاعلانات) الموضوع:معدات مصانع الاعلاف بواسطة: (ساره حمدي) :: (قسم الاعلانات) الموضوع:افضل خدمات المنزل مع عاملاتنا بواسطة: (زينب محمدي) :: (قسم التطوير والاقتراحات) الموضوع:فوتو عربي بواسطة: (محمود ناصر) :: (أخبار التكنولوجيا) الموضوع:إربح 1 دولار لكل 148 زيارة لرابطك بواسطة: (رفيف الحياه) :: (قسم الاعلانات) الموضوع:فابو بواسطة: (ساره حمدي) :: (أخبار التكنولوجيا) الموضوع:إربح 1 دولار لكل 148 زيارة لرابطك بواسطة: (رفيف الحياه) :: (قسم الاعلانات) الموضوع:دالتكس ايجيبت بواسطة: (rehamgamall) :: (قسم الاعلانات) الموضوع:معدات مصانع الاعلاف بواسطة: (rehamgamall) :: (قسم الاعلانات) الموضوع:سطحة أوتو كاريير خدمات سحب سريعة وغير مكلفة بواسطة: (اسماء عومر) :: (قسم الدعم الفني) الموضوع:هل تبحث عن أرخص شركات لصيانة وتركيب المكيفات بالفجيرة 0524280067 الامين بواسطة: (RODY2020) :: (قسم الاعلانات) الموضوع:أفضل ورشة جمس في الرياض بواسطة: (اسماء عومر) :: (قسم الاعلانات) الموضوع:تطهير المنزل بالمطهرات والتخلص من الفئران تحميك من مرض الكورونا 0562570996 العناية بواسطة: (menna151096) :: (قسم الاعلانات) الموضوع:شحن من الامارات لمصر ومن مصر للامارات 01062199548 بواسطة: (menna151096) :: (قسم الاعلانات) الموضوع:افضل دولاب حمام – كرياتف جروب 01026185183 بواسطة: (emo rafy) :: (قسم الاعلانات) الموضوع:اجمل ديكورات الجبسون بورد 0562514539 العالمية المتحدة بواسطة: (menna151096) :: (قسم الاعلانات) الموضوع:احدث وحدات حمام – كرياتيف جروب للاتصال 01026185183 بواسطة: (emo rafy) :: (قسم الاعلانات) الموضوع:ارخص معلم دهانات بالمدينة المنورة بواسطة: (Marketing Magic)

المواضيع المثبته: (منتدى Microsoft Visual Basic) الموضوع:نظام إدارة المرتبات للمدارس Salary System 2008 بواسطة: (Max Bayne) :: (قسم التعاميم والشكاوي) الموضوع:الرتب في المنتدى بواسطة: (عبدالله جابر شقليه) :: (منتدى مبرمجي لغة جافا JAVA) الموضوع:برنامج للموبايل بلغة الجافا للبحث على جوجل بواسطة: (Doctors) :: (منتدى برمجة الألعاب) الموضوع:اعلان هام بواسطة: (مصطفي البارودي) :: (منتدى مبرمجي ASP.NET) الموضوع:طريقة تحويل ملفات الفيديو إلى Flv وإلتقاط الصور مثل Youtube بواسطة: (عبدالله جابر شقليه) :: (قسم الدعم الفني) الموضوع:هل تريد التحكم بجهازك كأنك محترف بواسطة: (ياسر جمال) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:اعداد و تنصيب اوراكل 9i ويندز NT/2000/XP بواسطة: (oracle_egypt) :: (منتدى مبرمجي ASP) الموضوع:مشروع تخرج القرية الذكية المصرية بواسطة: (caco) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:ارشيف جميع البرامج التى صنعها اعضاء قسم الدوت نت بواسطة: (alaa gomaa) :: (منتدى مبرمجي ASP) الموضوع:مشروع university للجامعات بواسطة: (عبدالله جابر شقليه) :: (منتدى Borland Delphi) الموضوع:أحفظ برامجك الديلفاوية من أذي العابثين باستخدام رقم الهارد (محترفين) بواسطة: (Hadyabady) :: (منتدى مبرمجي ASP) الموضوع:تحزين سجلات داخل ملفات اكسل و xml وورد ..إلخ بواسطة: (عبدالله جابر شقليه) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:ما هو تحليل النظم System analysis بواسطة: (jbsa) :: (منتدى مبرمجي ASP.NET) الموضوع:كتاب تصميم موقع اخباري بواسطة: (م.محمد الساعدي) :: (القسم المفتوح) الموضوع:لقاء صحفى بواسطة: (ramies) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:موقع جيد به Tutorials و مشاريع مفتوحة المصدر بواسطة: (يوسف) :: (منتدى برمجة الألعاب) الموضوع:أسس تصميم الألعاب ال3Dالتفاعلية بواسطة: (مصطفي البارودي) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:دورة في LINQ To DataSet بواسطة: (jbsa) :: (منتدى التصميم والجرافيكس) الموضوع:دورة تصميم مواقع بواسطة: (aram) :: (منتدى الأكسس) الموضوع:الوصل الي المساعده بشكل سريع وتحميل المرفقات الى المنتدي بواسطة: (startnet)

إضافة رد إضافة موضوع جديد

> مقدمة إلى سلسلة دروس عن البرمجة بلغة سي,البرمجة بلغة سي تحت نظام التشغيل لنكس
Bookmark and Share
تقييم الموضوع Label معدل التقيم:0
khaled helal
مشاركةالثلاثاء,25/شوال/1425 هـ,03:43 مساءً
المشاركة #1
هذا الدرس هو عبارة عن مقدمة إلى سلسلة دروس عن البرمجة بلغة سي تحت نظام التشغيل لنكس.

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

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

أن السي القياسية 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/.

فما علينا إلا أن نكتب الآتي لكي نرى تنفيذ البرنامج كما هو واضح في الصوره:





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







أما إذا كنت ترى أن 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 و أن نجعل برنامجين يتخاطبان مع بعضهما

البعض و يتبادلان المتغيرات بينهما
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,25/شوال/1425 هـ,08:56 مساءً
المشاركة #2

الرتبة في المنتدى:نقيب

أيقونة المجموعة

المجموعة: المشرفين القدامى
المشاركات: 128
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:مصر
رقم العضوية: 18



الف شكر يا أستاذ خالد,
شكلك هتخلينى انزل اللينكس تانى!


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأربعاء,26/شوال/1425 هـ,10:33 مساءً
المشاركة #3

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 11
سجل في:الاثنين,20/شعبان/1425 هـ,09:22 مساءً
الدولة:فلسطين
رقم العضوية: 237



شكرا لك أخ خالد
اكمل وساتابع دروسك الرائعة دائما ..


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,12/محرم/1426 هـ,07:50 مساءً
المشاركة #4

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: أعضاء فعالين
المشاركات: 49
سجل في:الجمعة,25/ذو الحجة/1425 هـ,06:56 مساءً
الدولة:فلسطين
رقم العضوية: 1440



أخ خالد بقترح عليك تعمل سلسلة الدروس على شكل كتاب الكتروني عالوورد أو الأدوب رايتر أو عرض تقديمي عالبوربوينت
وعلى العموم فأنا خبير سي على نظام الدوس وأعمل جيدا في grahics mode
وأود تجيبه على اللينكس....

شكرا والف شكر وأنا منتظر منك المزيد


--------------------
________________________________

khalid
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

إضافة رد جديد إضافة موضوع جديد



 
الوقت الأن:اليوم,04:15 مساءً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)