>>1
Cross-platform programs can be compiled and run on a variety of different platforms. A platform is not just an OS, but an API, library set, architecture, etc. The POSIX standard, for example, aims to make cross-platform programming across the many *NIX platforms, as well as some non-*NIX platforms, easy. There are also some libraries, like Qt, wxWidgets, etc., that help make GUI programs cross-platform, or at least easier to port to other platforms later.