สวัสดีครับ ต่อจากตอนที่แล้วกันเลย สมมติว่า ทุกคน มีความรู้พื้นฐานภาษา C ได้ระดับหนึ่ง ที่สามารถจะสร้างโปรแกรมเล็กๆน้อยๆ ใช้งานเองได้แล้ว ในระบบดอส เมื่อเราจะมาพัฒนางานของเราต่อ ในระบบ windows จะต้องทำอย่างไรกันบ้าง
โดยหลักการแล้ว เวลาจะทำอะไรสักอย่างหนึ่ง มันต้องมีเครื่องมือ จะสร้างบ้านก็ต้องมีช่าง มีเครื่องมือ สร้างบ้าน ผสมปูน ก่ออิฐ อะไรก็ว่ากันไป หรืออย่าง จะเปิดอู่ซ่อมรถ ต้องมีช่าง มีเครื่องมือช่าง ผมจงใจขีดเส้นใต้ เพื่อบอกให้รู้ว่า การเขียนโปรแกรมก็มา ในลักษณะที่เป็นแบบนี้ เหมือนกัน คือ ต้องมีโปรแกรมเมอร์ และ คอมไพเลอร์(compiler) นอก จากนี้ ยังต้องมีเครื่องมือประกอบอื่นๆ อีก ตามแต่ระบบที่ต้องทำการ พัฒนา เช่น จะพัฒนาโปรแกรมบนไมโครคอนโทรลเลอร์ จะต้องมีบอร์ดทดลองหรือตัว โปรแกรม emulator ไมโครคอนโทรลเลอร์ ตามเบอร์ที่กำหนดบนตัวไอซีนั้นๆหรือตามประเภทของไมโครคอนโทรลเลอร์ หรือ การพัฒนาบนระบบ Unix ก็จะต้องทำตาม spec ของแต่ละ Unix (โดยส่วนใหญ่ จะต่างกันในรายละเอียดบางส่วน แต่ส่วนประกอบใหญ่ๆ น่าจะเหมือนกัน) ฯลฯ
สำหรับใน ระบบ windows เนื่องจาก ตัวระบบเป็นลักษณะการติดต่อกับผู้ใช้งานแบบ กราฟฟิก พูดแบบชาวบ้าน ก็คือ การใช้รูปแทน การพิมพ์คำสั่ง สำหรับ เข้าถึง ส่วนประกอบ ต่างๆใน คอมพิวเตอร์ เช่น จะเข้าไปดูข้อมูลใน harddisk ก็จะมีรูป harddisk ขึ้นมาเราให้ดู แล้ว ผู้ใช้ก็แค่คลิกที่รูป โปรแกรมก็จะจัดให้เราเข้าไปดูรายการข้อมูลต่างๆที่มีอยู่ใน harddisk ได้อย่างง่ายดาย แทนที่เราจะต้องพิมพ์คำสั่งยาวๆ ลงไปบนบรรทัดคำสั่ง แล้วให้โปรแกรม list รายการข้อมูลให้เราดู แน่นอนว่า แบบแรกน่ะ ดูรู้เรื่องกว่าอยู่แล้ว แต่ทว่า เบื้องหลังความง่ายในการใช้งานของผู้ใช้ กลับเป็น นรกของโปรแกรมเมอร์ เพราะว่า เราต้องหาวิธีรวมรูปภาพเข้าไปในโปรแกรมของเราด้วย !!!
เพราะ ฉะนั้น จากที่บอกไว้ข้างต้นว่า นอกจาก เราจะมีคอมไพเลอร์แล้ว(โปรแกรมเมอร์นั้น ต้องมีด้วยอยู่แล้ว ไม่งั้นจะเขียนโปรแกรมสั่งคอมไม่ได้ -_-” ) ก็จะต้องมีเครื่องมือสำหรับรวมรูปภาพที่เราต้องการแสดงให้กับ ผู้ใช้งานทราบว่า รูปนี้แทนอะไร และก็ทำอะไรกับมันได้บ้าง โดยจัดการให้มันเข้าไปอยู่รวมกับชุดคำสั่งเรียกใช้งานของเรา ซึ่งสิ่งนี้ windows กำหนดชื่อให้มันว่า Resource และสร้างเครื่องมืออีกชนิดหนึ่งขึ้นมา ชื่อว่า resource compiler เพื่อให้มันแปลงภาพของเราให้โปรแกรมของเรารู้จักและสามารถเรียกใช้งานมันในการแสดงผลแบบรูปภาพได้
ผมพูดมาตั้ง นานแล้ว แต่ยังไม่เข้าเรื่องเลยนะเนี่ย ว่า สรุปแล้ว ถ้าจะพัฒนา โปรแกรมกับ windows น่ะ ต้องใช้เครื่องมืออะไรบ้าง
เอาล่ะ สรุปเลยก็แล้วกันนะ เฉพาะระบบ windows จะมีเครื่องมือจำเป็นหลักๆ ที่ใช้ในการพัฒนาโปรแกรม อยู่ 3-4 ตัว โดยแบ่งได้ดังนี้
1. แบบ Hardcore หรือ รุ่นโบราณ สิ่งที่ต้องใช้มีดังนี้
1.1 Text Editor หรือ โปรแกรมสำหรับพิมพ์ข้อความอย่างเดียว ไม่มีลูกเล่นใดๆทั้งสิ้น เอาไว้สำหรับเขียนรหัสต้นฉบับ(source code)
1.2 Compiler ตัวแปลภาษา ต้องเป็นภาษา C/C++ เท่านั้น สมัยก่อน(ในสมัยนี้ ก็ยังมีอยู่)จะทำงานผ่านบรรทัดคำสั่ง(command line) สามารถแปล source code ที่เราเขียนในข้อ 1.1 ให้มาเป็นภาษาเครื่องได้ สามารถใส่ลูกเล่นต่างๆได้ผ่านสิ่งที่เรียกว่า option Switch จะตามด้วย เครื่องหมาย ‘ / ’ หรือ ‘ – ‘ แล้วแต่ระบบที่รองรับ Compiler สำหรับ windows น่าจะเป็น ‘/ ’ จากนั้น ก็ใส่ตัวอักษรย่อ ภาษาอังกฤษ ที่แทนคำสั่งพิเศษ เพื่อให้ compiler ของเราทำงาน ตามที่กำหนดเอาไว้
1.3 Resource compiler ตัว นี้ เอาไว้สำหรับ compile resource ให้มัน พร้อมที่จะรวมเข้ากับโปรแกรมของเรา โดยที่เราจะต้องสร้างไฟล์ ขึ้นมา 1 ไฟล์เป็นแบบ text file แบบ source code ข้างบนขึ้นมา แต่ไฟล์นี้ เขียนตามวิธีการที่ windows กำหนดไว้ สำหรับการสร้าง Resource จากนั้น ค่อยเรียก resource compiler ให้ทำการ compile ในลักษณะเดียวกันกับการใช้ compiler
1.4 Linker จริงๆแล้ว compiler ยังไม่ได้ทำให้ source code ของเรากลายเป็นภาษาเครื่องไปทันที แต่ก็เกือบแล้ว เพราะว่า เราจะต้อง สั่งให้ source code ของเราที่ compiler ทำการ compile เสร็จแล้ว ไปรวมเข้ากับวิธีการเรียกใช้คำสั่งต่างๆใน library เฉพาะของภาษา อีกทีหนึ่ง ก่อน ต่างจากระบบ dos จะจบแค่ขั้นตอนการ compile ให้เสร็จแล้ว link ไปเป็นภาษาเครื่องเลย แต่สำหรับ windows อย่างที่บอกไปแล้ว ส่วนประกอบของมัน จะแสดงในลักษณะรูปภาพ ทำให้ Linker ต้องเรียก resource ที่ผ่านการ compile มาแล้วเข้ามา รวมด้วย ก่อนที่จะทำการ link อีกทีเพื่อให้ได้ตัว โปรแกรมที่ต้องการ
1.5 Make File เป็น text file อันหนึ่ง ที่เขียนวิธีการเรียกใช้ compiler linker และ resource compiler ให้ทำงานต่อเนื่องกันไปจนสำเร็จ ออกมาเป็นตัวโปรแกรมที่ต้องการ
ใช่แล้วครับ พอผมไล่จำนวนเครื่องมือมาจนถึงตรงนี้ คงพอจะเข้าใจแล้วใช่ไหมครับ ว่า มันเป็นนรกตรงไหน !!!???
Pages: 1 2
One Response to “เครื่องมือสำคัญในการพัฒนาโปรแกรมบน windows(win32 API)[ตอนที่ 1]”
Leave a Reply
January 9th, 2010 at 10:22 am
[...] [...]