เขียนโปรแกรมภาษาซีในระบบ UNIX
ระบบ UNIX เป็นระบบปฏิบัติการแบบ Multi User คืออนุญาตให้ผู้ใช้หลายคน เชื่อมต่อเข้ามายังคอมพิวเตอร์แม่ข่ายและเรียกใช้งานโปรแกรมภายในระบบคอมพิวเตอร์ได้ การเชื่อมต่อของระบบ UNIX ผมจะไม่ขอกล่าวถึง แต่ในครั้งแรกที่เราเข้าสู่ระบบ UNIX จำเป็นต้องป้อนชื่อ Account และ Password ให้ถูกต้องตามลำดับ ปัจจุบันนี้ระบบปฏิบัติการ Windows NT , Window2000 และ XP สามารถเชื่อมต่อเข้ากับระบบ Unix ได้ด้วยโปรแกรม Telnet ซึ่งมีอยู่ในคอมพิวเตอร์เหล่านั้นอยู่แล้ว คอมพิวเตอร์ที่ผมทำงานอยู่นี้ต่อเชื่อมกับระบบเน็ตเวอร์ค ดังนั้นผมจะทดลองใช้คำสั่ง Telnet ไปยังเครื่องคอมพิวเตอร์ดังกล่าว ด้วยการใช้คำสั่งดังนี้
ขั้นที่ 1 ล็อกออนเข้าสู่เครื่องที่ใช้ UNIX
สมมติว่าเราต้องการเชื่อมต่อเข้ากับคอมพิวเตอร์ปลายทางหมายเลข 202.47.249.6 ซึ่งจากตัวอย่างนี้คอมพิวเตอร์เครื่องดังกล่าวตั้งอยู่ที่การสื่อสารแห่งประเทศไทย เขตไปรษณีย์กลางบางรัก กรุงเทพมหานคร ฯ และเครื่องที่ผมใช้งานขณะนี้ตั้งอยู่ที่มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี ผมต้องการเชื่อมต่อเข้ากับระบบ Unix ที่ตั้งอยู่ไปรษณีย์กลางบางรัก และผมมี User และ Password สามารถทำได้โดยการเรียกใช้โปรแกรม Telnet ของไมโครซอฟต์ โดยคลิ๊กที่ Start > Run ดังภาพด้านล่าง
ขั้นที่ 2 เรียกใช้โปรแกรม Telnet
โปรแกรม Telnet ที่ใช้เป็นของบริษัทไมโครซอฟต์ เราสามารถเรียก Telnet ตามด้วยหมายเลข IP Address ของเครื่องแม่ข่ายปลายทางได้ ในกรณีนี้คอมพิวเตอร์แม่ข่ายที่เราต้องการเชื่อมโยงเข้าไป มีหมายเลข IP 202.47.249.6 ดังนั้น สามารถเรียกโปรแกรมให้ทำงานได้ดังนี้
ขั้นที่ 3 พร้อมหรือยังที่จะล็อกออนเข้าสู่ระบบปฏิบัติการ Unix
เมื่อการเชื่อมต่อสมบูรณ์ขั้นตอนถัดไปเราต้องป้อนชื่อผู้ใช้ที่เป็นสมาชิกของระบบ Unix และรหัสผ่าน เมื่อป้อนชื่อ Account และรหัสผ่านถูกต้องจะปรากฎข้อความต้อนรับดังนี้
Last login: Thu Jul 24 15:15:13 from 202.47.250.36
Sun Microsystem Inc. SunOS 5.8 Generic February 2000
$
ขั้นที่ 4 เริ่มต้นเขียนซอร์สโค๊ด
ในการเริ่มต้นเขียนซอร์สโค๊ดภาษาซี เราจะใช้คำสั่ง cat > filename เพื่อสร้างเท็กซ์ไฟล์ขึ้นมา คำสั่ง cat > เปรียบได้เหมือนกับคำสั่ง copy con ในดอส หากท่านไม่เข้าใจว่าคำสั่งดังกล่าวทำอะไร ขอให้ศึกษารายละเอียดเพิ่มเติม แต่ตอนนี้ขอให้ท่านจำไว้ก่อนว่า คำสั่ง cat > ใช้ในการสร้างเท็กซ์ไฟล์ได้
ขั้นตอนต่อไปคือพิมพ์ซอร์สโค๊ด ซึ่งประกอบด้วยรายละเอียดดังนี้
ให้ท่านพิมพ์ตามโค๊ดสีเขียวด้านบน และเมื่อต้องการขึ้นบรรทัดใหม่ให้กดแป้น Enter เสมอ ในขณะที่บรรทัดสุดท้ายเราจะต้องกดแป้น Ctrl + d (กดแป้น Ctrl ค้างไว้ แล้วตามด้วยการกดแป้น d หนึ่งครั้ง) เพียงเท่านี้เราสามารถสร้างไฟล์ชื่อ helloworld.c โดยมีรายละเอียดซอร์สโค๊ดตามตัวอย่างด้านบนได้แล้ว
ขั้นที่ 5 เริ่มต้นการคอมไพล์
การคอมไพล์จะใช้คำสั่ง gcc หรือ cc ก็ได้ โดยใช้คำสั่งดังนี้ gcc helloworld.c ถ้าคอมไพล์ไม่ผ่านตัวคอมไพล์เลอร์จะแจ้งข้อความผิดพลาดที่เกิดขึ้นภายในซอร์สโค๊ดของเรา เนื่องจากภาษาซีเป็นโปรแกรม Case Sensitive หมายถึงตัวอักขระเล็กหรือใหญ่ถือว่าเป็นคนละตัวกัน ดังนั้นผู้อ่านต้องระมัดระวังในรายละเอียดส่วนนี้ด้วย
ขั้นที่ 6 เริ่มต้นสั่งให้โปรแกรมของเราทำงาน
โปรแกรมที่คอมไพล์ผ่านแล้วจะมีชื่อว่า a.out ดังนั้นเราสามารถสั่งให้ไฟล์ a.out ทำงานได้โดยตรง แต่เนื่องจากการระบุถึงไฟล์ในไดเร็คทอรี่ปัจจุบันในระบบ unix ต้องอ้างด้วยเครื่องหมาย ./ (จุดตามด้วยสแลส) เสมอ ดังนั้นเมื่อเราจะสั่งให้ไฟล์ a.out ทำงานจึงต้องพิมพ์ให้เต็มด้วยคำว่า ./a.out โปรแกรมจึงจะทำงานได้อย่างถูกต้อง และให้ผลลัพธ์จะแสดงคำว่า Hello World ปรากฎบนจอภาพคอมพิวเตอร์
รายละเอียดเกี่ยวกับการคอมไพล์ภาษาซีบนระบบปฏิบัติการ Unix ผู้เขียนขอกล่าวเอาไว้เพียงเท่านี้ ถ้าผู้อ่านยังไม่เข้าใจขบวนการที่ได้กล่าวไปแล้ว ผู้เขียนขอแนะนำให้ท่านทดลองศึกษาและติดตั้งระบบปฏิบัติการ Linux ด้วยตัวท่านเองจากนั้นทดลองใช้ระบบดังกล่าวสักระยะ ผู้เขียนเชื่อว่าเมื่อท่านกลับมาอ่านสิ่งที่ผู้เขียนได้กล่าวไปแล้ว จะทำให้ท่านเข้าใจและสามารถคอมไพล์และรันโปรแกรมภาษาซีได้อย่างสมบูรณ์
ปล. รายละเอียดเกี่ยวกับภาษาซีในระบบ Unix ยังมีอีกมากนัก ที่ได้กล่าวไปนั้นเป็นเพียงหลักการในเบื้องต้น ซึ่งจะทำให้โปรแกรมเมอร์สามารถเริ่มต้นได้อย่างรวดเร็ว