גנו הפוך ספר - Demystifying לינוקס בניית אוטומציה

כמו גם לכתוב על לינוקס וכתיבת ביקורות ומדריכים על הפצות וכלים אני גם מעורב בכבדות בפיתוח תוכנה. למרבה הצער, 99.9% של פיתוח תוכנה זה מתרחש על פלטפורמת Windows.

יש לי מעל 20 שנות ניסיון כמו C + +, Visual Basic, VB.NET, ו- C # מפתח ואני גם יד DAB עם SQL Server הן DBA והן מפתח.

מה אני לא כל כך טוב הוא לפתח תוכנה עבור לינוקס. זה רק משהו שמעולם לא טרחתי איתו. הסיבה העיקרית היא כי לאחר פיתוח תוכנה במהלך היום הדבר האחרון שאני רוצה לעשות הוא לשבת מסביב לערב כתיבת תוכנה יותר.

אני בהחלט אוהב להתעסק עם scripting וכתיבת תוכנית קטנה מוזר. אלה הם בדרך כלל עבור פרויקטים מבוססי אלקטרוניקה על PSP פטל .

דבר אחד מפתחים רבים על פלטפורמת Windows יתקשו עם המעבר הראשון ללינוקס הוא לומד על הכלים הנדרשים כדי לבנות יישומים החבילה.

ללא ספק סוג היישום הקל ביותר לפתח הם יישומי אינטרנט כי בדרך כלל הם אינם דורשים קוד הידור (PHP, Perl, Python) ואת הקבצים פרוסים למקום מוגדר בשרת האינטרנט.

מספר גדול של יישומים שנבנו עבור לינוקס מפותחים באמצעות C, C + + או Python. עריכת תוכנית אחת C היא קלה יחסית, אבל כאשר אתה צריך לקמפל מספר תוכניות C עם תלות מרובות דברים לקבל קצת יותר מסובך.

גנו הפוך הוא אוטומציה לבנות כלי scripting אשר מסייע לך לקמפל היישומים שלך שוב ושוב בדרכים שונות. לדוגמה, אתה יכול לספק פרמטר אשר בהתאם לערך יהיה לקמפל יישום באמצעות 64 סיביות או 32 סיביות.

הספר של גנו מייק נכתב על ידי ג'ון גרהם-קאמינג כדי לסייע למשתמשי GNU Make לקבל אחיזה איתנה יותר במורכבויות הקשורות ל- GNU Make.

הספר מחולק לשישה פרקים:

  1. יסודות Revisited
  2. מאתר באגים
  3. בנייה ובנייה מחדש
  4. מלכודות ובעיות
  5. דוחפים את המעטפה
  6. גנו הפוך את ספריית סטנדרט

אני לא מאמין כי הספר הוא באמת מכוון למתחילים כי אין בה הבהרות מסוימות כי היית מצפה כאשר לומדים נושא חדש כגון "מה זה גנו לעשות?", "איך אני יוצר קובץ Make?", "למה הוא עושה טוב יותר מאשר להרכיב כל תוכנית אחד אחד? " ו "איך אני לקמפל תוכניות באמצעות גנו לעשות?". כל הנושאים הללו מכוסים במדריך למשתמש של גנו .

העובדה כי הפרק הראשון נקרא "היסודות Revisited" לעומת "היסודות" מראה בבירור כי אתה צפוי לקבל הארקה בנושא לפני שתתחיל.

הפרק הראשון מכסה את כל היסודות כגון שימוש במשתנים, סביבות בשימוש על ידי פקודות וסביבת $ (Shell). כאשר הפרק עובר על לך להיכנס לנושא של השוואה, רשימות, פונקציות המשתמש מוגדר.

אם אתה משתמש ב- GNU Make לזמן מה, אבל עדיין לא מחשיב את עצמך מומחה יש כמה רמזים נחמד ועצות אשר יסייעו לך להבין מסובכים מסוימים, כי לא יכול להיות ברור מיד.

הפרק השני יהיה מתנה משמים לאלו מכם אשר ניסו שגיאות מלכודת בסקריפטים לבנות. הקטע "Makefile Debugging" מלא ברמזים מצוינים ועצות לאיתור באגים Makefiles וכולל מקטעים על ערכים משתנים של הדפסה ואפילו השלכת הערך של כל משתנה. בהמשך הפרק, יש מדריך ל- Debugger של GNU שבו ניתן להשתמש כדי לעבור את הסקריפטים.

הפרק השלישי כולל makefiles למשל אבל יותר מזה מראה לך כיצד ליצור Makefiles כי אתה יכול לרוץ שוב ושוב.

"Pitfalls and Problems" בוחן את ההבדלים בין מונחים מסוימים כגון = = ו- =, ו- ifndef ו-? =.

מצאתי כי עברתי דרך הספר כי כי אני לא מנסה באופן פעיל להשתמש גנו לעשות כי הידע שלי הוא ברמה בסיסית מאוד חלק הנושא הלך הרבה מעל הראש שלי.

כשהגעתי לפרק "דחיפת המעטפה" עיני הזגגו קצת.

הסיכום העיקרי שלי, אם הייתי צריך לסכם את הספר הזה, הוא כי המחבר בבירור יודע את הדברים שלו ניסה להעביר מידע רב ככל האפשר.

הבעיה היא שלפעמים כאשר מומחה נושא מנסה לכתוב משהו יש להם את זה "אוי, זה קל, כל מה שאתה צריך לעשות הוא ..." הילה עליהם.

חותמת הגומי על הדלת האחורית שלי ירדה בשבוע שעבר, וכמו שזה רק בן שנתיים התקשרתי לחברה שהתאימה את זה כי זה עדיין באחריות.

הגברת בטלפון אמרה, "אה, זה בסדר, אני אשלח לך חותם חדש".

אמרתי "אני צריך להתאים את זה בעצמי, זה משהו שאני יכול לעשות".

התגובה היתה "בטח אתה יכול, כל מה שאתה צריך לעשות זה לקחת את הדלת, להתאים את החותם ואת הדלת בחזרה".

עכשיו המחשבה המיידית שלי היתה "וואה, אחורה קצת שם, תוריד את הדלת?!". אני לא מוסמך להסיר דלת, להתאים את החותם ואת refit את הדלת. אני משאיר את זה למומחים.

עם הספר הזה, אני מרגיש שאתה צריך עוד ספר כמות מסוימת של ניסיון לכתוב Makefiles לפני שתמצא את זה שימושי.

אני חושב שהרמזים, הטיפים והידע שסופקו יעזרו לאנשים מסוימים לומר "אה, אז בגלל זה זה עושה את זה" או "לא הבנתי שאתה יכול לעשות את זה ככה".

ההערכה שלי היא כי אתה צריך לקנות את הספר הזה אם אתם מחפשים הבהרה או יותר ביניים ידע מתקדם על גנו לעשות אבל זה לא ספר למתחילים.