جنو جعل كتاب - demystifying لينكس بناء الأتمتة

بالإضافة إلى الكتابة عن Linux وكتابة المراجعات والدروس حول التوزيعات والأدوات ، أشارك بشكل كبير في تطوير البرمجيات. لسوء الحظ ، يحدث 99.9٪ من تطوير البرامج هذا على النظام الأساسي لـ Windows.

لدي أكثر من 20 عاماً من الخبرة كمطور C ++ و Visual Basic و VB.NET و C # وأنا أيضاً على يد dab مع SQL Server على حد سواء كـ DBA ومطور.

ما لست عليه جيدًا هو تطوير البرامج لنظام التشغيل Linux. إنه شيء لم أزعجه أبداً. السبب الرئيسي هو أنه بعد تطوير البرمجيات خلال اليوم ، فإن آخر شيء أريد القيام به هو الجلوس حول مساء كتابة المزيد من البرامج.

أنا من الواضح أن مثل ترقيع مع البرمجة النصية وكتابة البرنامج الصغير الغريب. هذه عادة ما تكون للمشروعات القائمة على الإلكترونيات في Raspberry PI .

شيء واحد أن العديد من المطورين على منصة ويندوز سوف تواجه مشكلة مع عندما ينتقلون لأول مرة إلى لينكس هو معرفة الأدوات اللازمة لبناء وتعبئة التطبيقات.

إلى حد بعيد ، أسهل أنواع التطبيقات للتطوير هي تطبيقات الويب لأنها عادة لا تتطلب تعليمات برمجية مجمعة (PHP ، Perl ، Python) ويتم نشر الملفات في مكان معين على خادم الويب.

يتم تطوير عدد كبير من التطبيقات التي تم تصميمها لنظام Linux باستخدام C أو C ++ أو Python. من السهل نسبيًا تجميع برنامج C واحد ، ولكن عندما تحتاج إلى تجميع عدد من برامج C مع تبعيات متعددة تصبح الأمور أكثر تعقيدًا.

جنو ميك هو أداة برمجة نصية للتنفيذ الآلي تساعدك على تجميع تطبيقاتك مرارا وتكرارا وبطرق مختلفة. على سبيل المثال ، يمكنك توفير معلمة اعتماداً على القيمة سيقوم بتجميع أحد التطبيقات باستخدام 64 بت أو 32 بت.

كتاب جنو صنع من قبل جون غراهام كومينغ لمساعدة مستخدمي جنو جعل قبضة أكثر حزما من التعقيدات المرتبطة جنو جعل.

ينقسم الكتاب إلى ستة فصول:

  1. إعادة النظر في الأساسيات
  2. تصحيح ماكفيلي
  3. البناء وإعادة البناء
  4. مطبات ومشاكل
  5. دفع المغلف
  6. جنو جعل المكتبة القياسية

لا أعتقد أن الكتاب يستهدف المبتدئين حقًا لأنه يفتقر إلى بعض التوضيحات التي تتوقعها عند تعلم موضوع جديد مثل "ما الذي يجعل GNU؟" ، "كيف يمكنني إنشاء ملف Make؟" ، "لماذا يستخدم أفضل من تجميع كل برنامج واحدًا تلو الآخر؟ " و "كيف أقوم بتجميع البرامج باستخدام GNU Make؟". كل هذه المجالات تخضع للتغطية في دليل جنو .

إن حقيقة أن الفصل الأول يدعى "إعادة النظر في الأساسيات" بدلاً من "الأساسيات" يُظهر بوضوح أنه من المتوقع أن يكون لك أساس في الموضوع قبل أن تبدأ.

يغطي الفصل الأول جميع الأساسيات مثل استخدام المتغيرات والبيئات التي تستخدمها الأوامر وبيئة $ (Shell). عندما ينتقل الفصل ، فإنك تدخل في موضوع المقارنة والقوائم والوظائف التي يحددها المستخدم.

إذا كنت تستخدم غنو Make لبعض الوقت ولكنك لا تعتبر نفسك خبيرًا ، فهناك بعض التلميحات والنصائح اللطيفة التي ستساعدك على فهم بعض التعقيدات التي قد لا تظهر على الفور.

سيكون الفصل الثاني هبة من الله لأولئك منكم الذين حاولوا احتجاز أخطاء في نصوص البناء. قسم "Makefile Debugging" ممتلئ بتلميحات ونصائح ممتازة لتصحيح أخطاء Makefiles ويشتمل على أقسام على طباعة قيم المتغير وحتى تفريغ قيمة كل متغير. بالإضافة إلى الفصل ، هناك دليل إلى مصحح جنو الذي يمكنك استخدامه للدخول إلى النصوص.

يتضمن الفصل الثالث makefiles مثال ولكن أكثر من ذلك يوضح لك كيفية إنشاء Makefiles يمكنك تشغيل مراراً وتكراراً.

تبحث "مطبات و مشاكل" في الاختلافات بين مصطلحات معينة مثل = و: = ، و ifndef و؟ =.

وجدت كما ذهبت إلى أبعد من ذلك في الكتاب لأنني لا أحاول أن استخدم غنو جعل بالفعل ، ولأن معرفتي على مستوى أساسي للغاية ، ذهب بعض الموضوع أكثر من رأسي.

وبحلول الوقت الذي وصلت فيه إلى "دفع المغلف" ، كانت عيناي تلمعان إلى حد ما.

ملخصي الرئيسي ، إذا كان علي أن ألخص هذا الكتاب ، هو أن المؤلف يعرف بوضوح الأشياء التي لديه ، وحاول تمرير أكبر قدر ممكن من المعلومات.

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

ختم مطاطي على باب منزلي الخلفي خرج الأسبوع الماضي ، ولأنه مجرد عامين ، اتصلت بالشركة التي تم تركيبها لأنها لا تزال في الضمان.

قالت السيدة على الهاتف "أوه ، هذا على مايرام ، سأرسل لك ختمًا جديدًا".

قلت "أوه هل يجب علي أن أضعه بنفسي؟ هل هذا شيء يمكنني القيام به".

كان الرد "بالتأكيد يمكنك ، كل ما عليك القيام به هو خلع الباب ، وتناسب الختم وإعادة وضع الباب مرة أخرى".

الآن فكرتي الفورية كانت "woah ، ترجيع قليلا هناك. خلع الباب؟!؟". لست مؤهلاً لإزالة باب ، ولبس ختم وإعادة تركيب الباب. أترك ذلك للخبراء.

مع هذا الكتاب ، أشعر بأنك بحاجة إلى كتاب آخر وكمية معينة من الخبرة في كتابة Makefiles قبل أن تجدها مفيدة.

أعتقد أن التلميحات والنصائح والمعارف المقدمة ستساعد بعض الناس على قول "أوه ، لذا هذا هو السبب في ذلك" أو "لم أكن أدرك أنه يمكنك فعل ذلك بهذه الطريقة".

تقييمي لذلك هو أنه يجب عليك شراء هذا الكتاب إذا كنت تسعى للحصول على إيضاح أو أكثر من وسيط إلى معرفة متقدمة في GNU Make ولكنها ليست كتاب للمبتدئين.