Using Precompiled Headers

Using Precompiled Headers

Many compilers have a special switch for precompiled headers. A precompiled header is a binary file containing intermediate code that is the result of preprocessing and compiling an ordinary header file. A precompiled header is created the first time the compiler processes an ordinary header file and from then on, instead of compiling that header every time anew, the precompiled header is used. The use of precompiled headers expedites the compilation process considerably because it eliminates the overhead of locating a physical header file, preprocessing all its macro directives, parsing the declarations it contains, instantiating templates, etc. In most cases, the compiler can detect changes in the original header file. When such changes occur, the matching precompiled header is discarded and a new precompiled header replaces it. However, compilers can be fooled easily and as a result, it happens that an out-of-sync precompiled header is still being used. Sometimes the compiler is clever enough to discard an out-of-sync precompiled header, but it does so without generating a replacement. In either case, the remedy is to rebuild the entire project. A full rebuild ensures that all existing precompiled headers are removed from the project and new ones, which are in sync with the current header files, are generated. If you get an error message regarding precompiled headers, rebuild your entire project to ensure that the compiler generates fresh, up-to-date precompiled headers.

See also  5 Tips for Working With an Onsite Interpreter

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist