Posts

Showing posts with the label gcc

Skill เบื้องต้นของ Programmer ตอนที่ 2: Read Error Message

Image
อ่าน Error Message ให้ออก แล้วลองแก้ปัญหาตามที่เขาบอกเรา Error Message จาก Syntax Error [ประสบการณ์จากการเป็นพี่คุม Lab โดนเรียกถามบ่อยมาก ผลคือ เด็กไม่อ่านกัน จ้องจะถามอย่างเดียว] เราจะเห็นได้ว่า มันเป็นแค่ ภาษาอังกฤษที่อ่านไม่ยากเท่าไรเ ลยนะ ส่วนใหญ่จะบอกบรรทัดที่ Error ด้วย (ควรจะเปิด Line Number ของ Text Editor) แต่บางทีก็ไม่เป๊ะหรอกนะ ให้มองสัก -2 บรรทัดที่มันบอกว่า Error จะดีมาก (กรณีใน Lab ที่ม. ล่ะ เพราะใช้ GCC Compiler เป็นหลัก) ลองหัดอ่านกันดูนะ ... มันไม่ได้ยากอะไรหรอก ช่วยให้แก้ปัญหาได้อย่างรวดเร็ว ด้วย ส่วนใหญ่ไม่อ่านกัน ... แต่ถ้าเป็น Error Message ที่ไม่เคยเห็นจริงๆ ล่ะก็ ... วิธีที่ดีที่สุดคือ "copy Error Message and Paste to http://www.google.com/ " :P ดูตัวอย่างกัน !! ขอเทียบ Error Message ระหว่าง GCC Compiler กับ Clang (LLVM Front End of C/C++/Objective-C) จากภาพ Compile ครั้งแรก (gcc even_odd.cpp, clang even_odd.cpp) จะเห็นว่า GCC บอกว่า เราลืม ; ก่อนคำสั่ง return ซึ่งอาจจะต้องกวาดสายตาดูบรรทัด ด้านบน แต่ถ้าใช้ Clang จะเห็นว่า มันบอกเราโจ้งๆ เลยว่า ตร...

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

Image
ผมเขียน 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 ใช้คำสั่งเดียวกันเลยค...