How can I use them efficiently?
Put all the stuff you know won't change in them. Typically that means all code that's external to your program, such as library headers. Don't add things that you use in one file out of thirty - it's probably not worth it.
All the buzzt!
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law