. . . . . . . .นี่คือ compiler 32 Bits ยอดนิยม ใช้ก็ง่ายเล่นได้ทั้งบน DOS และ Window โปรแกรมที่เราเขียนมาจะเป็นโปรแกรมแบบ protect mode หรือเป็นโปรแกรม 32 Bits หมดปัญหาเรื่องการจัดการหน่อยความจำไปได้ เพราะมันมี DOS4GW เป็นตัวจัดการ ไม่ต้องยุ่งยากไปเขียนการจัดการ Memory, XMS, EMS อีกทั้งการทำงานที่รวดเร็วแบบ 32 bits ของมัน ยังทำให้เกมส์ของเราใช้เครื่องได้อย่างมีประสิทธิภาพอีกด้วย ถ้าจะพูดถึงการหาเจ้าตัว compiler ตัวนี้ก็ถือว่าหายากพอดู เพราะเมืองไทยไม่เป็นที่นิยมกันสักเท่าไร หมายถึงเขียนโปรแกรม 32 Bits run บน DOS นะครับ แต่ถ้าเป็น Window ก็ถือว่าดังอยู่พอสมควร แต่ก็มีข้อเสียบ้าง คือเราต้องเขียน function ใช้งานเองเกือบทั้งหมด เพราะตัว function มาตรฐานบน DOS ของมันมีน้อยกว่าที่เราเคยใช้มาจาก compiler ตัวอื่นเยอะ เรียกได้ว่าเป็น compiler สำหรับมืออาชีพจริงๆ เพราะต้องพัฒนาเองหลายอย่าง และที่ผมใช้อยู่นี่เป็น WATCOM version 9.0 + 10.0 ไม่สามารถใช้คุณสมบัติของภาษา C++ ได้อย่างเต็มที่คือ ขาด Library สำหรับ LINK บางตัวไม่สามารถใช้ function new ได้ แต่ถ้าเขียนโปรแแกรมแบบธรรมดา ก็ไม่มีปัญหาอะไร แต่ก็ยุ่งยากพอสมควรสำหรับการเริ่มต้น |
. . . . . . . .ที่ผมเขียนแบบนี้ก็เนื่องมาจากว่า WATCOM C 9.0 เป็น C ธรรมดา ไม่ใช่ C++ แต่ WATCOM C/C++ 10.0 ใช้ C++ ได้แต่ไม่เต็มประสิทธิภาพซะนี่เพราะว่าใช้ function new ไม่ได้ คือผมว่ารูปแบบการกำหนด การเขียน C++ ดูง่ายกว่าเลยเป็นว่าผมเขียนทั้ง C และ C++ และที่สำคัญอีกอย่างคือ WATCOM 10.0 ไม่มี Library บน DOS แต่ไปมีใน WATCOM 9.0 ซะนี่ แต่ผมอยากได้ compiler ใหม่ๆ เลยรวมกันซะเลย ซึ่งที่ใช้มาก็ไม่มีปัญหาอะไร |
. . . . . . . .ติดตั้ง
WATCOM C 9.0 ซึ่งจะมี Library
สำหรับ DOS ครบ จากนั้น
ติดตั้ง WATCOM C 10.0
ทับอีกครั้งหนึ่ง
และต้องมีการกำหนดอะไรบางอย่างให้กับตัว
WATCOM ด้วย ที่ file autoexec.bat
จะต้องมีการกำหนดแบบนี้ SET PATH=C:\WATCOM\BINW;C:\WATCOM\BIN; SET LIB=C:\WATCOM\LIB386;C:\WATCOM\LIB386\DOS; SET INCLUDE=C:\PROMAN\BALL\XLIB;C:\WATCOM\H;C:\WATCOM\H\WIN SET WATCOM=C:\WATCOM\ SET EDPATH=C:\WATCOM\EDDAT และที่ file system.ini ที่อยู่ใน directory WINDOWS จะต้องกำหนดแบบนี้ [386Enh] device=c:\watcom\binw\wdebug.386 หลังจากที่ติดตั้งแล้วก็ reboot เครื่องอีกครั้งหนึ่ง แล้วก็กลับเข้ามาใหม่ จะเห็น ICON WATCOM ชื่อ IDE จากนั้น double click มันแล้วก็มาลุยต่อไป |
. . . . . . . .ไปที่ เมนู File รายการ New Project จะเห็นหน้าต่างให้ใส่ชื่อ project แล้วก็จะมีหน้าต่าง New target ให้เลือก Target Environment DOS-32 Bits และ Image Type เลือก DOS4GW Executable (.exe) กด Ok ก็จะเห็นหน้าต่างขึ้นมา จากนั้นกด Insert จะเป็นการเพิ่มแฟ้มเอกสารของเรา ลองใส่ชื่อ main.cpp กดOk มันก็จะมีชื่อปรากฎแล้ว 1 แฟ้มแต่จะมีต่อท้าย (n/a) คือมันยังไม่ได้สร้างจริงๆ นะเอง เราก็เลือกแฟ้ม main.cpp กด Enter หรือ double click ที่ฃื่อ file นั้นได้ ก็จะมีหน้าจอ Editor สชขาวๆปรากฎออกมา วิธีการใช้ Editor ก็ศึกษาเอาเองไม่ยาก ลองใส่ ตัวอย่าง source code นี่ดูนะครับ |
#include <stdio.h> #include <conio.h> int main( ) {
} |
จากนั้นกด F4 จะเป็นการ compile โปรแกรม และกด Ctrl+R เป็นการ run โปรแกรมที่เราสร้างไว้แล้ว คราวนี้ง่ายขึ้นแล้วครับที่นี่ |
. . . . . . . .ไปที่เมนู
Options รายการ Link Switches
เลือกแล้วจะมีหน้าต่าง
Link Switches
จะมีหัวข้อให้ปรับแต่งค่าดังนี้
แล้วกด Ok นะครับ
. . . . . . . .ไปที่เมนู Options รายการ Make Utility Switches จะมีหน้าต่างขึ้นมาให้ปรับแต่ง ให้ดูทางด้านขวานะครับจะเห็นข้อความ $*.lst ให้เอาออก ไม่ต้องปรับแต่งอะไรเพิ่มกด Ok . . . . . . . .ไปที่เมนู Options รายการ C++ compiler switches จะมีหน้าต่างขึ้นมาให้ปรับแต่ง ทำตามนี้นะครับ
. . . . . . . .กด Ok จากนั้นจะมีหน้าต่างยืนยัน ก็ตอบ Ok ไป ทีนี้ก็เป็นการเขียนโปรแกรมบน protect mode แล้วครับ แต่ไม่หมดแค่นั้น |
. . . . . . . .สาเหตุดังกล่าวเนื่องมาจากไม่ได้ตั้งค่าตามที่บอกไว้ข้างบน และขาด Library บางตัว ก็มีบางตัวอีกเช่นกันที่เราต้อง หลอก compiler ให้ไปที่ directory \WATCOM\LIB386 จะเห็นชื่อแฟ้ม CLIB3R.LIB และ CLIB3S.LIB ให้ copy CLIB3R.LIB เป็น PLIB3R.LIB และ copy CLIB3S.LIB เป็น PLIB2S.LIB สาเหตุคือ Library ไม่ครบนะครับต้องหลอกมันหน่อย แหะ แหะ |
. . . . . . . .หลังจากที่เรากด
F4 ให้ compile
แล้วให้เลื่อน mouse มา
click ที่ว่างๆ ของ bar
ข้างล่างที่มีปุ่ม
เริ่ม-start ของ window
จะทำให้หน้าต่างของ
WATCOM ไม่ active
แต่ก็ยังทำการ compile
อยู่แต่เร็วกว่าเดิมครับเพราะมันทำงานแบบ
background . . . . . . . .และอีกเทคนิคคือ ที่ directory project ของเราจะมี file make ของ WATCOM ให้สร้าง Bath file ชื่อ 00.BAT ข้างในมีแบบนี้นะครับ |
wmake -f project.mk -h -s -e |
ที่ข้อความ
project.mk คือ make file ของ WATCOM ลอง
dir
ดูก็ได้นะครับจะเห็นแฟ้มนามสกุล
*.mk เราก็ใส่เข้าไป
แล้วก็เรียก 00.BAT
สาเหตุที่ทำแบบนี้เพราะว่า
Editor ของ WATCOM
ไม่ค่อยหน้าใช้เท่าไร
ผมมาใช้ Editor ของ Borland C/C++ 2.0
for DOS แทน
เปิดมาสองหน้าต่าง
หน้าต่างแรกเป็น BC
หน้าต่างที่สองเป็น
compile เวลา compile ก็กด 00
แล้วก็จะได้ EXE
เหมือนกัน สำคัญๆ
อย่าลืม copy แฟ้ม DOS4GW.EXE
มาด้วยละครับ
แต่เวลาเพิ่มหรือลบแห้มใน
project
ให้ไปทำที่หน้าจอของ
WATCOM IDE หรือจะ compile ที่ WATCOM
IDE ก็ได้ตามสะดวก . . . . . . . .หลังจากนั้นลองเขียนตามบทเรียนที่ HomePage แห่งนี้นะครับ ใช้ได้เหมือนกัน หรือจะไปเขียนกราฟฟิกเลย ก็มีเอกสารให้ dowload ครับ ที่ HomePage แห่งนี้อีกเช่นกัน ผมรวบรวมมาให้เยอะแยะ ขอให้สนุกกับการเขียนโปรแกรมนะครับ สวัสดี |