Conditional compilation
Encyclopedia
In computer programming
, conditional compilation is compilation implementing methods which allow the compiler
to produce differences in the executable produced controlled by parameters that are provided during compilation. This technique is commonly used when these differences are needed to run the software on different platforms
, or with different versions of required libraries or hardware
.
Many programming language
s support conditional compilation. Typically compiler directives define or "undefine" certain variables; other directives test these variables and modify compilation accordingly. For example, not using an actual language, the compiler may be set to define "Macintosh" and undefine "PC", and the code may contain:
if "Macintosh" is defined:
end if "Macintosh"
if "PC" is defined:
end if "PC"
In C and some languages with a similar syntax, this is done using an '#ifdef' directive.
A similar procedure, using the name "conditional comment
", is used by Microsoft Internet Explorer from version 5 to 9 to interpret HTML
code. There is also a similar proprietary mechanism for adding conditional comments within JScript
, known as conditional compilation.
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
, conditional compilation is compilation implementing methods which allow the compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
to produce differences in the executable produced controlled by parameters that are provided during compilation. This technique is commonly used when these differences are needed to run the software on different platforms
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
, or with different versions of required libraries or hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
.
Many programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
s support conditional compilation. Typically compiler directives define or "undefine" certain variables; other directives test these variables and modify compilation accordingly. For example, not using an actual language, the compiler may be set to define "Macintosh" and undefine "PC", and the code may contain:
if "Macintosh" is defined:
end if "Macintosh"
if "PC" is defined:
end if "PC"
In C and some languages with a similar syntax, this is done using an '#ifdef' directive.
A similar procedure, using the name "conditional comment
Conditional comment
Conditional comments are conditional statements interpreted by Microsoft Internet Explorer in HTML source code. Conditional comments can be used to provide and hide code to and from Internet Explorer....
", is used by Microsoft Internet Explorer from version 5 to 9 to interpret HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
code. There is also a similar proprietary mechanism for adding conditional comments within JScript
JScript
JScript is a scripting language based on the ECMAScript standard that is used in Microsoft's Internet Explorer.JScript is implemented as a Windows Script engine. This means that it can be "plugged in" to any application that supports Windows Script, such as Internet Explorer, Active Server Pages,...
, known as conditional compilation.