Case Study: Clusters and Image Processing, Part II - page 2
The ImageLink Case, Reviewed
Porting their application from the SGI platform to Linux involved the following steps for the folks at ImageLinks:
- They determined that gcc would be their compiler of choice. It handles both C and C++ code.
- Due to the poor support of templates in the gcc version that came with Red Hat 5.2, they had to convert a significant amount of code so that the tools had all the exact code in place, rather than relying on templates.
- They double-checked every source file for whether it was coded to properly compile under Linux and gcc. Compilers are not standard across the board. Different C++ compilers--even when they work on the same platform--have different functionality, libraries, and more.
- Linux and SGI machines store numbers differently. Linux on a PC is a big-endian system because it stores the most significant bit for a number on the left, and the bits become less significant the more you go to the right. The SGI architecture is little-endian--the most significant bit is on the right side. ImageLinks changed the number-storing methods for their tools so they would work properly in Linux.