Originally posted by Eniregnat
For those that have compiled code for more than one OS, where do the bugs usually pop up? Are they of similar issue(s)? Can you predict where the problems will occur in the code?
Usually the problems exist due to minor inconsistencies in the OS libraries between platforms. Most people will say that its Apple's (in this case) responsibility to make sure the libraries are exactly the same. However, there are some things PPC can do that x86, AMD, whatever can't. So you have to work around it, and Apple has to make sure they optimize for maximum performance. In addition, the compilers have to take advantage of those things.
A good example, although not quite the same, is the Carbon APIs in OS X. Apple cleaned some things up. Unfortunately, it broke some code for some folks.
The bigger problem is the optimization. That will be the main issue because the app developers have to get used to the library functions to determine the best way to code the app. It just takes a lot of time, which of course companies have to pay for.
If you would like a quick example and you know anything about programming in Visual Basic, create a small app that cubes a number in a loop that executes 10,000,000 times.
Try it this way and time it: x = 10 ^ 3
Then try it this way and time it: x = 10 * 10 * 10
You will find that the second method executes in about 30% of the time taken by the first example. It is not a practical program, but it will give you an idea of how inefficient the math library is.