Prefix header


Prefix header

In computer programming, a prefix header is a feature found in some C or C++ compilers used to simplify code and/or to reduce compilation time.

Overview

In the C and C++ programming languages, a header file is a file whose text is automatically included in another source file by the compiler, usually by the use of compiler directives at the beginning of the source file. A prefix header differs from a normal header file in that it is "automatically" included at the beginning of every source file by the compiler, without the use of any compiler directives.

Prefix headers are usually pre-compiled in order to reduce compilation times.

Example

On Mac OS X, the Xcode build system generates prefix headers automatically for new projects. A new Cocoa project, for instance, gets a prefix header that looks like this:


#ifdef __OBJC__ #import
#endif

As a result, it is unnecessary to explicitly include any of the above files in any Objective-C code in the program, although doing so is harmless, in the case of Objective-C because of the semantics of the #import directive, but more generally with #include because of the use of include guards.

Similar prefix headers are generated for other types of project.

See also

* Header file
* Precompiled header

External links

* [http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/800_bs_speed_up_build/chapter_8_section_2.html Xcode User Guide: Using a Precompiled Prefix Header]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Precompiled header — In computer programming, a pre compiled header is a technique used by some C or C++ compilers to reduce compilation time. OverviewIn the C and C++ programming languages, a header file is a file whose text may be automatically included in another… …   Wikipedia

  • IPv6 — Internet protocol suite Application layer BGP DHCP DNS FTP …   Wikipedia

  • 6to4 — (sometimes written 6 to 4) is a system that allows IPv6 packets to be transmitted over an IPv4 network (generally the IPv4 internet) without the need to configure explicit tunnels. Routing conventions are also in place that allow 6to4 hosts to… …   Wikipedia

  • Border Gateway Protocol — BGP redirects here. For the Formula One Team, see Brawn GP. The Border Gateway Protocol (BGP) is the protocol backing the core routing decisions on the Internet. It maintains a table of IP networks or prefixes which designate network reachability …   Wikipedia

  • C++11 — C++11, also formerly known as C++0x,[1] is the name of the most recent iteration of the C++ programming language, replacing C++TR1, approved by the ISO as of 12 August 2011.[2] The name is derived from the tradition of naming language versions by …   Wikipedia

  • IPv6 — im TCP/IP‑Protokollstapel: Anwendung HTTP IMAP SMTP DNS … Transport TCP UDP Internet IPv6 Netzzugang …   Deutsch Wikipedia

  • C++0x — is the planned new standard for the C++ programming language. It is intended to replace the existing C++ standard, ISO/IEC 14882, which was published in 1998 and updated in 2003. These predecessors are informally known as C++98 and C++03. The new …   Wikipedia

  • Edge Label Switch Router — MPLS im TCP/IP Protokollstapel  Anwendung  HTTP BGP LDP  Transport  TCP UDP  Internet  …   Deutsch Wikipedia

  • MPLS — im TCP/IP Protokollstapel  Anwendung  HTTP BGP LDP  Transport  TCP UDP  Internet  …   Deutsch Wikipedia

  • Multi-Protocol Label Switching — MPLS im TCP/IP Protokollstapel  Anwendung  HTTP BGP LDP  Transport  TCP UDP  Internet  …   Deutsch Wikipedia