11.07.2015 Views

Advanced Programming Guide

Advanced Programming Guide

Advanced Programming Guide

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

372 • Appendix A: Internal Representation and ManipulationA.4 PortabilityThe Maple kernel and the command-line interface are not tied to anyone operating system or hardware architecture. The Maple kernel is designedto be portable to any system which supports a C compiler, a flataddress space, and a 32-bit or 64-bit word size. Some platforms on whichMaple is supported are (refer to the installation instructions for currentlysupported OS versions):HardwareOperating SystemIntel P entium Based P C Microsoft W indowsLinuxApple P ower Macintosh Mac OSSun SP ARCSun OS/SolarisSilicon Graphics Iris IRIXHewlett P ackard P A − RISC HP − UXIBM RS/6000AIXDEC Alpha Digital UNIX/Compaq T rue 64The majority of the source code comprising the kernel is the sameacross all platforms. Extensive use of macros and conditional compilationtake care of platform dependencies, such as word size, byte ordering,storage alignment requirements, differences in hardware floating pointsupport, and sometimes, C compiler bugs.The Maple library is interpreted by the Maple kernel. Therefore, otherthan issues such as maximum object size, it is completely independent ofthe underlying architecture.Maple’s graphical user interface is implemented in C and C + +, andmakes use of a platform independent user interface class library to achieveportability. There are only very few pieces of platform-specific source code.The Maplets interface is written in Java with some native libraries. TheJava portion is identical on all platforms.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!