C/C++ Preprocessing

เทคนิคนี้จะเป็นการทบทวนผู้เรียนน ในสิ่งที่เคยตกหล่นไปหรือยังไม่เคยรู้เกี่ยวกับการทำงานในลักษณะนี้แม้จะเคยเห็นมาบ้างเราจะมาลงรายละเอียดทางด้านเทคนิคและการนำไปประยุกต์ทาง Embedded System ดังนี้ครับ
จากที่กล่าวไปข้างต้นจะเล่าถึงกระบวนการทำงานก่อนการ Compile โปรแกรมจนไปถึงการ Execute โปรแกรม โดยการทำงานการสร้างไฟล์รันทดสอบในโปรแกรมขึ้นมาจะมีกระบวนการดังรูปด้านล่าง
กระบวนการสร้างไฟล์ Execute จากโปรแกรมที่เขียน
จากขั้นดอนดังรูปจะเตรียมความพร้อมก่อนทำการ Compile จากไฟล์ source coed(.c, .cpp) และไฟล์ header(.h) เพื่อทำการสร้าง Pre-process file ในการแทนค่าหรือเตรียมกระบวนการที่จะใช้งานก่อนทำการ Compile ไว้ หลังจากนั้นเราจะได้ Assembly file ออกมาหลังกระบวนการ Compile ภาษา C เราจึงนำไฟล์ Assembly ไปทำการ Assembler หรือการคอมไฟล์ภาษา Assembly จะได้ Object file ซึ่งจะเก็บกระบวนการของโปรแกรมไว้ออกมาในการใช้งาน แล้วจึงทำการลิ้ง Environment ต่าง ๆ ที่ต้องใช้งานจึงได้จนได้ Executable ไฟล์ที่ใช้รันออกมา
โดยในหัวข้อนี้เราจะลงลึกกระบวนการในการทำ Preprocessing ของภาษา C/C++
จริงๆแล้วกระบวนการนี้ไม่ได้เป็นกระบวนการใหม่ หรือเป็นเรื่องใหม่ที่ผู้เรียนทุกคนที่เคยเล่นภาษาโปรแกรมอย่างน้อยหนึ่งครั้งต้องเคยใช้งาน โดยที่ท่านอาจสังเกตแล้วเกิดความสงสัยหรืออาจไม่ได้สังเกตแค่เพียงเรียกใช้ในการทำงานทั่วๆไป แต่วันนี้เราจะมาลงลึกเทคนิคให้ใช้ไปประยุกต์ใช้งานกันได้กับงานของเรา โดยจะแบ่งหัวข้อที่ต้องเรียนเป็น 4 หัวข้อดังนี้
  1. 1.
    Macros
  2. 2.
    File Inclusion
  3. 3.
    Conditional Compilation
  4. 4.
    Pragma directives