|
Within computer science, porting is the adaptation of the piece of software system then that it might work around a different computing environment to it for which it was originally written.
Porting is ordinarily needed because of differences in the central processing unit, operating system interfaces, different hardware, or because of subtle incompatibilities inside—or even complete absence of—the programming language used on the target environment.
Portability typically refers to one of deuce items. A number 1 occurs as information to the ability to compile code it used to be that (unremarkably into a select few form of go-between code that is so JIT compiled at run-period) & let it run in multiple platforms forgoing any modification to the code. A 2nd occurs as information to the property of computer software that describes how else convenient these are to port. When operating systems, languages, & programming techniques develop, package becomes progressively elementary to port between environments. One of a original objectives of the C programming language and the standard C library, for instance, was to ease porting of software package by providing the most common API to different and otherwise incompatible computing devices.
Typically, utilizing higher-level work calls instead of bare OS-level APIs improves portability.
International standards, like victims promulgated by ISO, greatly facilitate porting because it specify a details of the computing environment inside how else that change super little among platforms. Typically, porting computer software between deuce platforms that implement a equivalent standard (like, for example, POSIX.1), is simply a matter of recompiling the program on the new platform.
There as well lives an increasing total of information to help porting, like GCC which provides uniform programing language in different platforms, & autoconf which automates a detection of minor variations in the environment & adapts the software program accordingly prior to compilation.
A select few high-level programming languages (Eiffel, Esterel) gaaround portability by outputing source code in an intermediate language that has compilers for many processors and operating systems, such as C.
2 activities related to, however distinct from either, porting come emulating and cross-compiling.
Porting is too the term utilized whilst a computer game designed to run in the single platform, whether it be in a personal computer or video game console, is converted to run in an additional platform. Earliest video game ports were not avowedly ports however like complete rescript, however further & other computer game come developed utilizing redaction software program which could output code for even PCs besides when of these or additional consoles. Several early ports suffered from either bad quality because a devices of PCs & consoles differed greatly.
|