AllExperts > Encyclopedia 
Search      
Find out about volunteering to AllExperts

Porting: Encyclopedia BETA


Free Encyclopedia
 Home · Index · Browse A-Z  · Questions and Answers ·
Encyclopedia

Browse A-Z
ABCDEFGHIJKLMNOPQRSTUVWXYZNum


License
Disclaimer

 
 
 
 
Free Online Courses
12 Weeks to Weight Loss
Take Charge of Stress
Learn How to Bake
Budgeting 101
Deeper Faith
DIY Fashion Makeover

       MORE E-COURSES
 
   

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Misc

Porting

This article is about moving software to a different system; see Porting (engine) for engine tuning.In computer science, porting is the process of adapting software so that an executable program can be created for a different computing environment (e.g., different CPU, operating system, or third party library) to the ones it currently runs on. The term is also used in a generic way to refer to the changing of software/hardware to make them usable in a different environment.

The term is not usually applied to the process of adapting software so that it is capable of running on a computer with less memory, but with the same CPU and operating system, or a rewrite to a different language (i.e., language conversion or translation).

Software developers often claim that the software they write is portable, meaning that little effort is needed to port it to a new environment. The amount of effort actually needed will depend on the extent to which the original environment (the source platform) differs from the new environment (the target platform), the experience of the original authors in knowing which programming language constructs and third party library calls are unlikely to be portable, and the amount of effort invested by the original authors in only using portable constructs (platform specific constructs often provide a cheaper solution).

The number of significantly different CPUs and operating systems in use today is much smaller than in the past. The dominance of the Intel x86 CPU means that a lot of desktop software is never ported to a different CPU and in the same market the choice of operating system has almost been reduced to two (ie, Microsoft Windows and a flavor of Unix). In the embedded systems market portability can still be a significant problem.

International standards, such as those promulgated by ISO, greatly facilitate porting because they specify the details of the computing environment in a way that varies very little among platforms. Often, porting software between two platforms that implement the same standard (such as, for instance, POSIX.1), is simply a matter of recompiling the program on the new platform.

There also exists an increasing number of tools to facilitate porting, such as GCC which provides consistent programming languages on different platforms, and autoconf which automates the detection of minor variations in the environment and adapts the software accordingly before compilation.

The compilers for some high-level programming languages (eg, Eiffel, Esterel) gain portability by outputing source code in a high level intermediate language (eg, C) for which compilers are more generally available.

Two activities related to, but distinct from, porting are emulating and cross-compiling.

Porting in gaming

Porting is also the term used when a computer game designed to run on one platform, be it a personal computer or video game console, is converted to run on another platform. Earlier video game ports were not true ports but rather complete rewrites, but more and more video games are developed using editing software that can output code for PCs as well as one or more consoles. Many early ports suffered from bad quality because the hardware of PCs and consoles differed greatly.

See also

* Console emulator
* Ilities
* Source port
* Write once, compile anywhere

External links

*Open Systems Portability Checker



Email this page
About Us | Advertise on This Site | User Agreement | Privacy Policy | Kids' Privacy Policy | Help
About and About.com are registered trademarks of About, Inc. The About logo is a trademark of About, Inc. All rights reserved.
This is the "GNU Free Documentation License" reference article from the English Wikipedia. All text is available under the terms of the GNU Free Documentation License. See also our Disclaimer.