Command Line Compiling C/C++ ,Java [Windows, Mac]


ผมเขียน Blog นี้เพราะน้องในคณะให้มาสอนเรื่อง Command Line Argument 
และผมทำกับ Editor สำเร็จรูปพวกนั้นไม่เป็น
ก็ Command Line Argument นี่นา ก็ต้องใส่ผ่าน Command Line สิ มันถึงจะ make sense

ขอพูดถึงฝั่ง Mac ก่อนนะครับ เพราะมันง่ายกว่า...

ทางฝั่ง Mac นั้น เพียงลง Xcode [Developer Tools] ก็เพียงพอแล้ว 
สามารถโหลดได้ฟรีจาก Mac App Store ณ ปัจจุบันเป็นเวอร์ชั่น 4.2
จากนั้นให้เปิด Terminal ขึ้นมา แล้วไปที่ที่ ไฟล์ที่เราต้องการ 
แล้วใช้คำสั่งตามนี้ครับ 

C
Compile: gcc filename.c 
Run: ./a.out

หรือ

Compile: gcc filename.c -o exefilename
Run: ./exefilename

C++ 

Compile: g++ filename.cpp
Run: ./a.out

หรือ 

Compile: g++ filename.cpp -o exefilename
Run: ./exefilename

ตัวอย่างการ Compile C++ : Balance Parentheses using Stack
Java

Compile: javac filename.java
Run: java filename

ตัวอย่างการ Compile ภาษา Java: Random Number
สำหรับภาษา Java นั้นทั้ง Mac และ Windows ใช้คำสั่งเดียวกันเลยครับ
จากนั้นมาฝั่ง Windows กันบ้าง...
ใน Windows เราสบายครับ เรามักคุ้นชินกับการใช้ Editor สำเร็จรูปที่มี Compiler ติดมาให้อยู่แล้ว
ถ้าเป็น C/C++ ก็จะมี Codeblocks, Dev-C++ ถ้าเป็น Java ก็ Eclipse, Netbeans ฯลฯ

ขั้นแรกก็ให้ลงพวก Editor สำเร็จรูปพวกนั้นก่อนนะครับ 
ในที่นี้ผมใช้ Codeblocks 
ซึ่งสามารถ Download ได้จากที่นี่ครับ --> http://www.codeblocks.org/downloads/26

** ขอให้แยกให้ออกนะครับ อะไรคือ Editor อะไรคือ Compiler 
     เพราะถามมาหลายคนละว่าใช้ Compiler อะไร หลายคนตอบว่า "ใช้ Codeblocks/Dev-C++"

เมื่อลงโปรแกรมเรียบร้อยแล้ว Compiler ที่ได้มากับโปรแกรมนี้คือ 
GNU GCC Compiler ครับ 

ให้เราไปที่ที่อยู่ของโปรแกรมนี้ และ Compiler ตัวนี้ครับ 
โดยถ้ากด Next รัวๆ เนี่ย มันมักจะอยู่ที่นี่ (ถ้า Windows เป็น 64 bits มันจะอยู่ที่ Program Files (x86))

จากนั้นให้เข้าไปที่ MinGW/bin แล้วทำการ Copy path ด้านบนมาครับ
อย่างของผมจะได้แบบนี้มา
C:\Program Files\CodeBlocks\MinGW\bin
จากนั้นให้คลิกขวาที่ My Computer แล้วเลือก Properties ครับ
มองแถบตัวเลือกด้านซ้าย ให้เลือกที่  Advance System Settings
เราจะได้หน้าต่างนี้มา


ด้านบนให้เลือกแถบ Advanced นะครับ กดเข้าที่ Environment Variables...


ในส่วนของ System variables ให้หา Variable ที่ชื่อ Path แล้วจากนั้นกด Edit ครับ


ในส่วนของ Variable Value นั้นถ้ายังไม่ปิดท้ายด้วย ; (Semi-Colon) ให้ใส่ปิดท้ายไปครับ
แล้วจากนั้นก็วาง Path ที่ผมให้ก๊อบมาในตอนต้นต่อท้ายไปครับ แล้วปิดด้วย ; (Semi-Colon) เช่นกัน


จากนั้นกด ok ออกมาครับ เป็นอันเรียบร้อย


ส่วนของ Java นั้น ไม่ยากเลย บน Windows กับ Mac ใช้คำสั่งเดียวกันเป๊ะ (เลื่อนไปดูด้านบน)
เพียงแต่ของ Java ก็ให้เปลี่ยน Path ที่จะเอาไปใส่ใน System Variable เป็นแบบนี้ครับ
C:\Program Files\Java\jdk1.7.0_02\bin
**ให้เลือก jdk เวอร์ชั่นล่าสุดนะครับ ดูเลขที่มันเยอะๆ
สามารถโหลด Java Development Kit ได้ที่นี่นะครับ

ที่เหลือเหมือนกันหมด 

** ควรจะเข้าไปเช็คอีกครั้งนึงนะครับ ว่าเราได้ก๊อบใส่ไปเรียบร้อยแล้วจริง
     ไม่รู้เพราะอะไร เคยมั่นใจว่าใส่ไปแล้ว พอตรวจสอบอีกที มันหายไปซะอย่างนั้น...
     ขอให้มั่นใจครับ แนะนำให้ลองกดเข้าไปตรวจสอบอีกครั้ง เพื่อความชัวร์

จากนั้นก็สร้างไฟล์ทดสอบขึ้นมาสักอันนึง ผมขอยกตัวอย่างโปรแกรม Classic แล้วกัน
ผมเซฟไว้ที่ Desktop ชื่อ Hello.cpp



จากนั้นเปิด Command Prompt ขึ้นมาครับ (กดที่ Start แล้วพิมพ์ cmd ที่ช่อง search ผมว่าไวสุด)


เราจะได้หน้าต่างนี้มา จะเห็น Default Path มันคือ C:\Users\School ซึ่งไฟล์ที่เราจะ Compile มันอยู่ที่ Desktop ไม่ใช่ที่นี่ ฉะนั้นเราจะไปที่ Desktop ก่อน
โดยคำสั่งที่เราจะใช้ "ไปไหน" ใน Command Line คือ cd [Change Directory]

โดยถ้าจะไปที่ Desktop นั้น เราสามารถ cd desktop ได้เลย แต่ถ้าจะไปที่อื่นต้องใช้ path จริงในการเข้าถึง และถ้าจะย้อนกลับ 1 ระดับ ให้ใช้ cd .. ดังรูปตัวอย่าง


จากนั้นวิธีการ Compile คือ ใช้คำสั่ง
C

Compile: gcc filename.c 
Run: a
** เมื่อ Compile เรียบร้อยจะสังเกตุเห็นไฟล์ .exe ชื่อ a โผล่ขึ้นมา 
หรือ 

Compile: gcc filename.c -o exefilename
Run: exefilename
** เมื่อ Compile เรียบร้อยจะสังเกตุเห็นไฟล์ .exe ชื่อ exefilename โผล่ขึ้นมา

C++ 

Compile: g++ filename.cpp
Run: a
** เมื่อ Compile เรียบร้อยจะสังเกตุเห็นไฟล์ .exe ชื่อ a โผล่ขึ้นมา

หรือ 

Compile: g++ filename.cpp -o exefilename
Run: exefilename
** เมื่อ Compile เรียบร้อยจะสังเกตุเห็นไฟล์ .exe ชื่อ exefilename โผล่ขึ้นมา


ส่วนถ้ามี Error ไม่ว่าจะ Runtime Error หรือ Compile Error มันก็จะฟ้องในหน้า Dos นี่แหละ เช่น

ตัวอย่างของ Compile Error

จบแล้วนะครับ
หวังว่าคงเป็นประโยชน์กันนะครับ

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

"อีสุกอีใส" ประสบการณ์เมื่อต้องมาเป็นตอนอายุ 22