Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

davbeck

macrumors regular
Original poster
May 16, 2008
104
0
Reno, NV
I see in Xcode that there is a build setting for architectures and the options are either 32 bit universal or 32/64 bit universal.

I understand that a universal binary is a PPC binary combined with an Intel binary that can then run on either system. Is the 32/64 bit universal then 32 bit Intel, 64 bit Intel and 32 bit PPC all combined together?

I would assume then on a 64 bit system that it would use the 64 bit version and the 32 bit version when it couldn't.

Is there any problem with backwards compatibility?

Is the technology behind these universal binaries constrained to Mac OS X? Or is the tool available on Linux and Windows?
 
Is the 32/64 bit universal then 32 bit Intel, 64 bit Intel and 32 bit PPC all combined together?
Yes.

I would assume then on a 64 bit system that it would use the 64 bit version and the 32 bit version when it couldn't.
Yes, but since Leopard isn't fully 64-bit it's not as great. However with SL you will want to build 64-bit. There are Info.plist properties you can setup to prevent the 64-bit version from launching on 10.5 and only used for 10.6+.

Is there any problem with backwards compatibility?
Depends on what APIs your project uses, and some assumptions it makes for the size of certain data types. Check out Apple's 64-Bit Transition Guide.

Is the technology behind these universal binaries constrained to Mac OS X? Or is the tool available on Linux and Windows?

I'm guessing it's dependent on the Mach-O format, so most likely yes.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.