# C/C++ Techniques

- [Makefile in action](/c-c++-for-embedded-programming/c-programming-techniques/makefile-in-action.md)
- [Object Oriented Programming (OOP) in C++](/c-c++-for-embedded-programming/c-programming-techniques/object-oriented-programming-oop-in-c++.md)
- [Class and Object](/c-c++-for-embedded-programming/c-programming-techniques/object-oriented-programming-oop-in-c++/class-and-object.md)
- [Encapsulation and Abstraction](/c-c++-for-embedded-programming/c-programming-techniques/object-oriented-programming-oop-in-c++/encapsulation-and-abstraction.md)
- [Polymorphism and Inheritance](/c-c++-for-embedded-programming/c-programming-techniques/object-oriented-programming-oop-in-c++/encapsulation-and-inheritance.md)
- [C/C++ Preprocessing](/c-c++-for-embedded-programming/c-programming-techniques/c-c++-preprocessing.md): เทคนิคนี้จะเป็นการทบทวนผู้เรียนน ในสิ่งที่เคยตกหล่นไปหรือยังไม่เคยรู้เกี่ยวกับการทำงานในลักษณะนี้แม้จะเคยเห็นมาบ้างเราจะมาลงรายละเอียดทางด้านเทคนิคและการนำไปประยุกต์ทาง Embedded System ดังนี้ครับ
- [Macro](/c-c++-for-embedded-programming/c-programming-techniques/c-c++-preprocessing/macro.md): ้เป็นคำสั่งที่ใช้ในการกำหนดค่า ประเภท หรือฟังก์ชัน โดยจะทำในกระบวนการ Preprocessing ทำไมถึงไม่ทำในโปรแกรมไปเลยทำไม่ต้องทำให้ยุ่งยาก งั้นมาดูกันครับว่าทำไมต้องใช้
- [Quiz Macro](/c-c++-for-embedded-programming/c-programming-techniques/c-c++-preprocessing/macro/quiz-macro.md): ตอบคำถามจากสไลด์
- [File Inclusion](/c-c++-for-embedded-programming/c-programming-techniques/c-c++-preprocessing/file-inclusion.md): จะเป็นการ Include ที่เราพบได้ทั่วไปในโปรแกรมที่เขียน เพราะทุกโปรแกรมต้องมีการ Include library หรือ header ไฟล์ที่ใช้มาประกอบการทำงาน
- [Conditional Compilation](/c-c++-for-embedded-programming/c-programming-techniques/c-c++-preprocessing/conditional-compilation.md): เทคนิคนี้จะใช้เงื่อนไขเหมือน if-else ที่เราเขียนโปรแกรมกันมาใช้งานครับ แล้วมันแตกต่างกับเงื่อนไขปกติที่เราใช้กันยังไงมาดูกันครับ
- [Pragma directive](/c-c++-for-embedded-programming/c-programming-techniques/c-c++-preprocessing/pragma-directive.md): โดยปกติเทคนิคนี้จะไม่คอยเจอในตอนที่เรียน แม่กระทั่งในหนังสือที่อ่านแต่อาจจะพบได้ในงานจริงๆ รวมถึงการโปรแกรมเพื่อออกแบบเชิงลึก ถ้าใครที่มาถึงตรงนี้สงสัยและอยากรู้เรื่องนี้มาดูกันครับ
- [Quiz Pragma](/c-c++-for-embedded-programming/c-programming-techniques/c-c++-preprocessing/pragma-directive/quiz-pragma.md): ตอบคำถามจากสไลด์
- [Binary, Octal and Hexadecimal Numbers](/c-c++-for-embedded-programming/c-programming-techniques/binary-octal-and-hexadecimal-numbers.md)
- [Array and properties of an array](/c-c++-for-embedded-programming/c-programming-techniques/array-and-properties-of-an-array.md)
- [Get to know with arrays](/c-c++-for-embedded-programming/c-programming-techniques/array-and-properties-of-an-array/get-to-know-with-arrays.md)
- [Implement example](/c-c++-for-embedded-programming/c-programming-techniques/array-and-properties-of-an-array/implement-example.md)
- [What's next?](/c-c++-for-embedded-programming/c-programming-techniques/whats-next.md)
