use macros for read/write PCH file