MultiPlatform Portability Guide
|Introduction||Most XBasic programs are 100% source portable - they run on every computer that has an
XBasic program development environment. Most XBasic programs are 100% source portable
because every implementation of XBasic has identical features and capabilities. This
document describes the few known minor exceptions.
While portability is important to many programmers, other considerations sometimes outweigh the goal of complete portability. For example, it is sometimes more important to take advantage of features supported by one operating system but not by others. Sometimes important support libraries aren't available on all systems.
|Every version and implementation of XBasic includes the following standard function
"xst" - standard library
"xma" - math and trig library
"xcm" - complex number library
"xgr" - graphics library, aka GraphicsDesigner
"xui" - graphical user interface library, aka GuiDesigner
|Some XBasic programs call functions in accessory function libraries, which may or may
not be available for every system with XBasic. For example, a given serial port
communications package might be available only for certain CPUs and/or certain operating
systems. XBasic programs that depend on accessory libraries will not run on systems
without compatible implementations of the libraries.
To increase program portability, try to choose accessory libraries that are available for as many of the systems you might someday target.
|For purposes of this discussion, system function libraries contain operating system
functions or other system fundamental functions, like the xlib library functions that
XBasic programs that call system functions are generally portable on other systems with the same operating system, but not portable to other systems with other operating systems. So XBasic programs that call system function on a Pentium/WindowsNT system will generally run unmodified on a PowerPC/WindowsNT system, but will not run on a Pentium/UNIX system.