เช่นเดียวกับการเขียนเกี่ยวกับ Linux และการเขียนบทวิจารณ์และบทแนะนำเกี่ยวกับการแจกจ่ายและเครื่องมือฉันยังมีส่วนร่วมอย่างมากในการพัฒนาซอฟต์แวร์ แต่น่าเสียดายที่ 99.9% ของการพัฒนาซอฟต์แวร์ที่เกิดขึ้นบนแพลตฟอร์ม Windows
ฉันมีประสบการณ์กว่า 20 ปีในฐานะ C + +, Visual Basic, VB.NET และ C # developer และฉันยังเป็นมือตบเบา ๆ กับ SQL Server ทั้งในฐานะ DBA และนักพัฒนาซอฟต์แวร์
สิ่งที่ฉันไม่ค่อยดีนักคือกำลังพัฒนาซอฟต์แวร์สำหรับ Linux มันเป็นเพียงสิ่งที่ฉันไม่เคยใส่ใจจริงๆ เหตุผลหลักคือหลังจากพัฒนาซอฟต์แวร์ในระหว่างวันสิ่งสุดท้ายที่ฉันต้องการทำคือนั่งรอบตอนเย็นเขียนซอฟต์แวร์เพิ่มเติม
ฉันเห็นได้ชัดว่าชอบเขียนสคริปต์และเขียนโปรแกรมเล็ก ๆ เหล่านี้มักใช้สำหรับ โครงการด้าน อิเล็กทรอนิกส์ ใน Raspberry PI
สิ่งหนึ่งที่นักพัฒนาซอฟต์แวร์จำนวนมากบนแพลตฟอร์ม Windows จะมีปัญหาเมื่อพวกเขาย้ายไปที่ Linux เป็นครั้งแรกคือการเรียนรู้เกี่ยวกับเครื่องมือที่จำเป็นในการสร้างแอปพลิเคชันและแพคเกจ
โดยทั่วไปแล้วพวกเขาไม่จำเป็นต้องมีรหัสคอมไพล์ (PHP, Perl, Python) และไฟล์จะถูกนำไปใช้งานในสถานที่ที่กำหนดบนเว็บเซิร์ฟเวอร์
มีการพัฒนาโปรแกรมประยุกต์จำนวนมากสำหรับ Linux โดยใช้ C, C ++ หรือ Python การคอมไพล์โปรแกรม C เป็นเรื่องง่ายมาก แต่เมื่อคุณต้องการรวบรวมโปรแกรม C จำนวนมากที่มีการอ้างอิงหลาย ๆ ข้อมูลจะยุ่งยากกว่าเล็กน้อย
GNU Make เป็นเครื่องมือสร้างสคริปต์อัตโนมัติซึ่งช่วยให้คุณสามารถรวบรวมแอพพลิเคชันของคุณได้หลายครั้ง ตัวอย่างเช่นคุณสามารถใส่พารามิเตอร์ซึ่งขึ้นอยู่กับค่าที่จะคอมไพล์แอ็พพลิเคชันโดยใช้ 64 บิตหรือ 32 บิต
หนังสือ GNU Make ได้รับการเขียนขึ้นโดย John Graham-Cumming เพื่อช่วยให้ผู้ใช้ GNU Make ได้รับความกระชับยิ่งขึ้นจากความซับซ้อนที่เกี่ยวข้องกับ GNU Make
หนังสือเล่มนี้แบ่งออกเป็นหกบท:
- ข้อมูลพื้นฐานเกี่ยวกับการเข้าชมใหม่
- การแก้ไขข้อบกพร่อง Makefile
- การสร้างและการสร้างใหม่
- ข้อผิดพลาดและปัญหา
- ผลักดันซองจดหมาย
- GNU Make Standard Library
ฉันไม่เชื่อว่าหนังสือเล่มนี้มีจุดมุ่งหมายเพื่อผู้เริ่มต้นจริงๆเพราะขาดคำชี้แจงบางอย่างที่คุณคาดหวังเมื่อเรียนเรื่องใหม่ ๆ เช่น "GNU Make คืออะไร", "ฉันจะสร้างไฟล์ Make ได้อย่างไร?", "ทำไมต้องสร้างไฟล์ Make? ใช้ Make better than compiling each program one one? " และ "ฉันจะคอมไพล์โปรแกรมโดยใช้ GNU Make ได้อย่างไร?" ทุกพื้นที่ของหัวข้อเหล่านี้ครอบคลุมใน คู่มือ GNU Make
ความจริงที่ว่าบทแรกเรียกว่า "ข้อมูลพื้นฐานเกี่ยวกับการเข้าชมใหม่" ในทางตรงกันข้ามกับ "ข้อมูลพื้นฐาน" แสดงให้เห็นอย่างชัดเจนว่าคุณควรได้รับการต่อสายดินก่อนที่จะเริ่มต้น
บทแรกครอบคลุมพื้นฐานทั้งหมดเช่นการใช้ตัวแปรสภาพแวดล้อมที่คำสั่งใช้และสิ่งแวดล้อม $ (เชลล์) ในขณะที่บทนี้จะย้ายไปอยู่ในเรื่องของการเปรียบเทียบรายการและฟังก์ชันที่กำหนดโดยผู้ใช้
ถ้าคุณเคยใช้ GNU Make มาสักระยะหนึ่ง แต่ยังไม่พิจารณาตัวเองว่าผู้เชี่ยวชาญมีคำแนะนำและคำแนะนำที่ดีซึ่งจะช่วยให้คุณเข้าใจความซับซ้อนบางอย่างที่อาจไม่ปรากฏชัดทันที
บทที่สองจะเป็นคำว่าสวรรค์สำหรับบรรดาผู้ที่พยายามดักจับข้อผิดพลาดในสคริปต์สร้าง ส่วน "Makefile Debugging" เต็มไปด้วยคำแนะนำและเคล็ดลับที่ยอดเยี่ยมสำหรับการแก้ไขข้อบกพร่อง Makefiles และรวมถึงส่วนที่เกี่ยวกับการพิมพ์ค่าตัวแปรและแม้กระทั่งการทิ้งค่าของตัวแปรทุกตัว ต่อไปในบทนี้มีคำแนะนำสำหรับดีบักเกอร์ GNU ซึ่งคุณสามารถใช้เพื่อข้ามผ่านสคริปต์ได้
บทที่สามประกอบด้วย makefiles ตัวอย่าง แต่มากกว่าที่แสดงวิธีการสร้าง Makefiles ที่คุณสามารถเรียกใช้อีกครั้งและอีกครั้ง
"ข้อผิดพลาดและปัญหา" ดูที่ความแตกต่างระหว่างคำบางอย่างเช่น = และ: = และ ifndef และ? =
ฉันพบในขณะที่ฉันเดินผ่านหนังสือเล่มนี้เพราะฉันไม่กระตือรือร้นพยายามที่จะใช้ GNU Make และเพราะความรู้ของฉันอยู่ในระดับพื้นฐานมากบางส่วนของเรื่องไปมากเกินหัวของฉัน
เมื่อถึงตอนที่ฉันไปถึงบท "Pushing the Envelope" ดวงตาของฉันก็ค่อนข้างระยิบระยับ
สรุปหลักของฉันถ้าฉันต้องสรุปหนังสือเล่มนี้ก็คือผู้เขียนรู้ข้อมูลของเขาอย่างชัดเจนและพยายามที่จะถ่ายทอดข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้
ปัญหาคือบางครั้งเมื่อผู้เชี่ยวชาญเรื่องพยายามที่จะเขียนสิ่งที่พวกเขามีนี้ "โอ้ง่ายทั้งหมดที่คุณต้องทำคือ .... " กลิ่นอายเกี่ยวกับพวกเขา
ประทับตรายางบนประตูหลังของฉันออกมาเมื่อสัปดาห์ที่แล้วและเป็นมันเป็นเพียงไม่กี่ปีผมเรียกว่า บริษัท ที่ติดตั้งมันเป็นมันยังคงอยู่ในการรับประกัน
ผู้หญิงที่โทรศัพท์พูดว่า "โอ้โอเคฉันจะส่งตราประทับใหม่ให้คุณ"
ฉันพูดว่า "โอ้ฉันต้องพอดีกับตัวเองหรือไม่ฉันสามารถทำอะไรได้บ้าง"
คำตอบคือ "แน่ใจได้เลยว่าสิ่งที่คุณต้องทำก็คือถอดประตูปิดผนึกและปิดประตู"
ตอนนี้ความคิดของฉันทันทีคือ "woah, ย้อนกลับสักหน่อยแล้วถอดประตูออกหรือไม่?" ฉันไม่มีคุณสมบัติที่จะถอดประตูปิดผนึกและติดตั้งประตูได้ ฉันปล่อยให้ผู้เชี่ยวชาญ
ด้วยหนังสือเล่มนี้ฉันรู้สึกว่าคุณต้องมีหนังสือเล่มอื่นและประสบการณ์การเขียน Makefiles เป็นจำนวนมากก่อนที่คุณจะพบว่ามีประโยชน์
ฉันคิดว่าเคล็ดลับคำแนะนำและความรู้ที่ได้รับจะช่วยให้บางคนพูดว่า "โอ้นั่นคือเหตุผลที่ว่า" หรือ "ฉันไม่ได้ตระหนักว่าคุณสามารถทำเช่นนั้นได้"
การประเมินของฉันดังนั้นคุณควรซื้อหนังสือเล่มนี้หากคุณต้องการความกระจ่างหรือความรู้ขั้นสูงเกี่ยวกับ GNU Make แต่ไม่ใช่หนังสือสำหรับผู้เริ่มต้น