CC คืออะไร?
CC หรือ Cross Compile นั้นเป็นการนำโค้ดภาษา C มาทำการ Compile ใหม่ด้วย Compiler ที่มีความเข้ากันได้บน Platform ที่ต่างกัน ซึ่ง Compiler นี้ก็มักจะเป็นตระกูล GCC เพราะได้ถูกนำไปพัฒนาให้สามารถใช้งานใน Platform ที่หลากหลาย
ประโยชน์ของ CC
การทำ CC นั้นเป็นการช่วยลดเวลาในการพัฒนาที่ต้องการนำไปใช้งานหลายๆ Platform คล้าย Concept "Write one run alway" ของ Java แต่ก็ต่างกันตรงที่ CC ต่าง Compile ใหม่ถูกครั้ง เพื่อให้ทำงานได้ ส่วน Java นั้น Compile เพียงครั้งเดียวแต่จะต้องใช้งาน JVM (Java Virtual Machine) ซึ่งก็จะมีปัญหาว่าจำเป็นต้องมี JVM สำหรับ Platform นั้นๆด้วย
ปัญหาในการทำ CC
เราไม่สามารถตอบได้ว่าเมื่อ CC ไปแล้วจะสามารถทำงานได้ทุกครั้ง หากจะพูดว่ามันเหมือนการโกง เพราะ CC นั้นเป็นการนำเอาโค้ดที่ถูกเขียนขึ้นเพื่อทำงานบน Platform หนึ่ง มาใ้ช้งานบนอีก Platform หนึ่ง แต่ปัจจัยที่จะทำให้ CC ผ่านและสามารถทำงานได้นั้น คือ โค้ดต้องไม่ขึ้นอยู่กับ Platform , Library ต้องมีมาตรฐาน และต้องทราบว่า Compiler ที่ใช้นั้นรองรับการทำ CC หรือไม่
สรุปปิดท้าย
การทำ CC นั้นใช้ให้เกิดการพัฒนาแบบข้าม Platform สำหรับภาษา C และเป็นการเพิ่มความสามารถของตัวภาษาให้ ้ขึ้นมาแข่งกับ Java ในแง่ Multi-platform ที่เป็นจุดเด่นของ Java ซึ่งก็เป็นการยากที่จะพูดว่าอันไหนดีกว่ากันก็คงตอบไม่ได้ เพราะส่วนตัวคิดว่ามันต่างก็มีข้อดีข้อเสียต่างกัน และเหมาะกับงานที่ต่างกัน CC นั้นเหมาะกับงานบนระบบฝังตัวมากกว่า Java แต่ Java ก็เหมาะกับงานเน้น Application ซึ่งก็ใช่ว่า Java ไม่สามารถทำบนอุปกรณ์แบบฝังตัวไม่ได้แต่จะมีข้อจำกัดที่ไม่มี JVM บน Platform นั้นเท่าั้นั้น ทำให้บนโลกของอุปกรณ์แบบฝังตัว CC นั้นถือเป็นช่องทางที่ดีในการพัฒนางานบนอุปกรณ์แบบฝังตัว
CC หรือ Cross Compile นั้นเป็นการนำโค้ดภาษา C มาทำการ Compile ใหม่ด้วย Compiler ที่มีความเข้ากันได้บน Platform ที่ต่างกัน ซึ่ง Compiler นี้ก็มักจะเป็นตระกูล GCC เพราะได้ถูกนำไปพัฒนาให้สามารถใช้งานใน Platform ที่หลากหลาย
ประโยชน์ของ CC
การทำ CC นั้นเป็นการช่วยลดเวลาในการพัฒนาที่ต้องการนำไปใช้งานหลายๆ Platform คล้าย Concept "Write one run alway" ของ Java แต่ก็ต่างกันตรงที่ CC ต่าง Compile ใหม่ถูกครั้ง เพื่อให้ทำงานได้ ส่วน Java นั้น Compile เพียงครั้งเดียวแต่จะต้องใช้งาน JVM (Java Virtual Machine) ซึ่งก็จะมีปัญหาว่าจำเป็นต้องมี JVM สำหรับ Platform นั้นๆด้วย
ปัญหาในการทำ CC
เราไม่สามารถตอบได้ว่าเมื่อ CC ไปแล้วจะสามารถทำงานได้ทุกครั้ง หากจะพูดว่ามันเหมือนการโกง เพราะ CC นั้นเป็นการนำเอาโค้ดที่ถูกเขียนขึ้นเพื่อทำงานบน Platform หนึ่ง มาใ้ช้งานบนอีก Platform หนึ่ง แต่ปัจจัยที่จะทำให้ CC ผ่านและสามารถทำงานได้นั้น คือ โค้ดต้องไม่ขึ้นอยู่กับ Platform , Library ต้องมีมาตรฐาน และต้องทราบว่า Compiler ที่ใช้นั้นรองรับการทำ CC หรือไม่
สรุปปิดท้าย
การทำ CC นั้นใช้ให้เกิดการพัฒนาแบบข้าม Platform สำหรับภาษา C และเป็นการเพิ่มความสามารถของตัวภาษาให้ ้ขึ้นมาแข่งกับ Java ในแง่ Multi-platform ที่เป็นจุดเด่นของ Java ซึ่งก็เป็นการยากที่จะพูดว่าอันไหนดีกว่ากันก็คงตอบไม่ได้ เพราะส่วนตัวคิดว่ามันต่างก็มีข้อดีข้อเสียต่างกัน และเหมาะกับงานที่ต่างกัน CC นั้นเหมาะกับงานบนระบบฝังตัวมากกว่า Java แต่ Java ก็เหมาะกับงานเน้น Application ซึ่งก็ใช่ว่า Java ไม่สามารถทำบนอุปกรณ์แบบฝังตัวไม่ได้แต่จะมีข้อจำกัดที่ไม่มี JVM บน Platform นั้นเท่าั้นั้น ทำให้บนโลกของอุปกรณ์แบบฝังตัว CC นั้นถือเป็นช่องทางที่ดีในการพัฒนางานบนอุปกรณ์แบบฝังตัว
Powered by ScribeFire.
ไม่มีความคิดเห็น:
แสดงความคิดเห็น