Home

Nonportable

Nonportable is an adjective used in computing to describe software, code, data, or systems that cannot be easily moved to, or executed on, different hardware platforms, operating systems, or environments without significant modification. It is the opposite of portable or cross-platform software and is often cited in discussions of software maintenance and reuse.

Causes of nonportability include reliance on platform-specific APIs or libraries, nonstandard language extensions, architecture differences (such

Common examples include applications that call Windows-only APIs (Win32), use assembly language or inline assembly tied

Nonportability has implications for maintenance, distribution, and reuse. It can lead to vendor lock-in, duplicated effort,

Strategies to improve portability include coding to standards, using cross-platform libraries and runtimes, isolating platform-dependent code

See also: portability, cross-platform development.

as
word
size,
endianness,
or
pointer
representations),
and
binary
interfaces
or
compiler
behavior
that
do
not
translate
across
environments.
Nonportable
data
formats
or
file
layouts
that
encode
hardware
assumptions
can
also
become
a
barrier
to
transfer.
to
a
single
processor,
or
depend
on
proprietary
features
of
a
given
operating
system.
Data
can
be
nonportable
when
written
in
a
binary
form
that
presumes
a
particular
endianness
or
integer
size,
or
when
it
embeds
absolute
file
paths
or
environment
specifics.
and
higher
cost
when
porting
software
to
new
platforms.
In
some
contexts,
nonportability
is
intentional
for
reasons
of
performance,
access
to
specialized
hardware,
or
regulatory
requirements.
behind
abstract
interfaces,
and
employing
build
configurations
that
adapt
to
target
environments.
Data
should
be
serialized
in
portable
formats,
with
explicit
handling
of
endianness
and
data
sizes.
Regular
testing
on
all
supported
platforms
and
documentation
of
platform
assumptions
further
reduce
nonportability.