Tools Engineer: Core Software Development - Programming Language, C
- Engines and their tools
- Game Tools History
- The Toolsmiths GDC Codex
- The Toolsmiths Glossary
- The Toolsmiths Learning Paths
- ◍ Tools Engineer Learning Path
- ◎ Tools Engineer: Core Game Development
- ◎ Tools Engineer: Core Game Tools Development
- ◎ Tools Engineer: Core Software Development
- ◌ Computer Science, Algorithms/Data Structures
- ◌ Computer Science, Computer Architecture
- ◌ Computer Science, Databases
- ◌ Computer Science, Computer Networks
- ◌ Computer Science, Operating Systems
- ◌ Programming Language, C
- ◌ Programming Language, C++
- ◌ Programming Language, C#
- ◌ Programming Language, Python
- ◌ Software Engineering, Debugging/Troubleshooting
- ◌ Software Engineering, Version Control
- ◌ Software Engineering, Writing Code/Unit Testing/Refactoring
- ◎ Tools Engineer: Game Tools Development Disciplines
- The Toolsmiths Knowledge Base
- Tools Development Wisdom and Best Practice
- The Toolsmiths Arsenal
- The Toolsmiths Toolbox
Codex navigation
Knowledge
list reference from tools-engineer-checklist.md by Geoff Evans
Functions
- Recursion, best practices
- Inlining and optimization
- Function arguments and CPU stack machine (push + jump)
- Stack memory allocation and deallocation
- C89 variable declaration rules
- setjmp/longjmp
Strutures
- Alignment and padding
- Unions
- Brace initialization
Arrays
- Countof
Pointers
- Pointer arithmetic
restrict
and aliasing
Memory
alloca
vs.malloc
Resources
Book Links
- C Programming Language
- C Primer Plus
- C Programming: A Modern Approach
- Pointers on C
- Expert C Programming: Deep C Secrets