• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NS_BUILD_32_LIKE_64
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NS_BUILD_32_LIKE_64


  • Subject: Re: NS_BUILD_32_LIKE_64
  • From: Quincey Morris <email@hidden>
  • Date: Sat, 11 Jun 2011 02:11:44 -0700

On Jun 11, 2011, at 00:54, Gerriet M. Denkmann wrote:

> The 64-Bit Transition Guide for Cocoa just says:
> "The NS_BUILD_32_LIKE_64 macro is useful when binary compatibility is not a concern, such as when building an application."
>
> So: why is this NS_BUILD_32_LIKE_64 not always defined (as default) and what binary compatibility issues I have to be aware of?

AFAIK there are 2 possible points of incompatibility: (a) libraries and (b) plugins.

I can't think of an ABI reason why C or Objective-C code should be incompatible (across library/plugin boundaries where this macro had different values during compilation), but there may be some obscure cases where an incompatibility exists. For example, it might be that int and long have different structure alignment implications in certain architectures, even if they're the same size.

It's also possible that Objective-C runtime things will break if they depend on @encode-style representations of types. However, the compilers are very cavalier with the @encode types, and at least in 64-bit compilations @encode types really only tell you sizes, not C types.

Of course, C++ or Objective-C++ code is going to be incompatible, because of name mangling.


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >NS_BUILD_32_LIKE_64 (From: "Gerriet M. Denkmann" <email@hidden>)

  • Prev by Date: Re: NS_BUILD_32_LIKE_64
  • Next by Date: Re: NSInputStream created from NSData - expected it to close at end of data, did not happen
  • Previous by thread: Re: NS_BUILD_32_LIKE_64
  • Next by thread: visibleRect returns bogus results, why?
  • Index(es):
    • Date
    • Thread