Translation unit (programming)

Translation unit (programming)

In C programming language terminology, a translation unit is the ultimate input to a C compiler from which an object file gets generated.[1]

Context

A C program consists of units called source files (or preprocessing files). When the C preprocessor expands a source file with all header files declared by #include directives, the result is a preprocessing translation unit. Further preprocessing translates the preprocessing translation unit into a translation unit. From a translation unit, the compiler generates an object file, which can be further processed and linked (possibly with other object files) to form an executable program.

The bulk of a project's code is typically held in files with a .c suffix (or .c++ or .cpp for C++). Files intended to be included typically have a .h suffix, and generally do not contain function or variable declarations to avoid name conflicts when headers are included in multiple source files, as is often the case. Header files can and often are included in other header files. It is standard practice for all .c files in a project to include at least one .h file.

References

  1. ^ ISO/IEC 9899:TC3 - Committee Draft of the C99 Standard - Section 5.1.1.1

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Translation unit — See C programming language for translation unit in the context of computer programming. In the field of translation, a translation unit is a segment of a text which the translator treats as a single cognitive unit for the purposes of establishing …   Wikipedia

  • Programming language — lists Alphabetical Categorical Chronological Generational 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… …   Wikipedia

  • Programming paradigm — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concu …   Wikipedia

  • Computer programming — Programming redirects here. For other uses, see Programming (disambiguation). Software development process Activities and steps …   Wikipedia

  • Service Oriented Programming — (SOP) is a programming paradigm that uses services as the unit of computer work, to design and implement integrated business applications and mission critical software programs. Services can represent steps of business processes and thus one of… …   Wikipedia

  • TUTOR (programming language) — Infobox programming language name = TUTOR (aka PLATO Author Language) paradigm = imperative (procedural) year = c. 1965 designer = Paul Tenczar Richard Blomme [from page 4 of The TUTOR Language by Bruce Sherwood, 1974.] developer = Paul Tenczar… …   Wikipedia

  • Python (programming language) — infobox programming language name = Python paradigm = multi paradigm: object oriented, imperative, functional year = 1991 designer = Guido van Rossum developer = Python Software Foundation latest release version = 2.6 latest release date =… …   Wikipedia

  • computer programming language — Introduction       any of various languages for expressing a set of detailed instructions for a digital computer. Such instructions can be executed directly when they are in the computer manufacturer specific numerical form known as machine… …   Universalium

  • Memory management unit — This 68451 MMU could be used with the Motorola 68010 A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware component responsible for handling accesses to memory requested by the CPU. Its… …   Wikipedia

  • Graphics processing unit — GPU redirects here. For other uses, see GPU (disambiguation). GeForce 6600GT (NV43) GPU A graphics processing unit or GPU (also occasionally called visual processing unit or VPU) is a specialized circuit designed to rapidly manipulate and alter… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”