• 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: GCD and blocks cross development
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GCD and blocks cross development


  • Subject: Re: GCD and blocks cross development
  • From: Jean-Daniel Dupas <email@hidden>
  • Date: Thu, 10 Sep 2009 16:31:37 +0200

Your program couldn't crash before running... :)

From an OS point of view you're right (that's dyld which crashes), but from an user point of view, you get a "Application crash" dialog in both cases ;-)


This code (called from an obj-c method) runs on 10.6 but fails on 10.5 suggesting that cross development with GCD is not possible.


Cross dev with GDC is possible as long as you don't use block, that is, as long as you use only 'dispatch_xxx_f' functions, but you lose some of the GDC advantages.


Le 10 sept. 2009 à 16:05, Steve Christensen a écrit :



On Sep 10, 2009, at 7:00 AM, Jean-Daniel Dupas wrote:

I never said it will run before crashing ;-)
FWIW, clang refuses to compile block if deployment target < 10.6.

Le 10 sept. 2009 à 15:54, Steve Christensen a écrit :

I would expect that any external symbols would be weak-linked, just like linking against any other 10.6-only symbol when your deployment target is set to something pre-10.6. And if the symbol weren't weak-linked, I would expect that the app would not load because it couldn't find a symbol rather than actually running and then crashing.


On Sep 10, 2009, at 1:33 AM, Jean-Daniel Dupas wrote:

My main concern would be block runtime linking issues. When you use blocks, the compiler generate call to the block runtime (libSystem on SL), but does it generate weak symbol or will the program crash at launch time on 10.5.

Note that a simple test will give the answer, but I don't have both OS right now.

Le 10 sept. 2009 à 00:49, Steve Christensen a écrit :

My understanding is that GCD is only supported on 10.6 and later. This means you'd need to have some sort of runtime check that would perform your tasks without GCD if running on a pre-10.6 OS version.


On Sep 9, 2009, at 3:04 PM, email@hidden wrote:

Sorry, not quite sure which list to hit here/

The Grand Central Dispatch headers seem to include availability macros.

Does that mean we can cross development for a deployment target of 10.5 with a 10.6 base SDK and use blocks and GCD?



-- Jean-Daniel








-- Jean-Daniel




_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: GCD and blocks cross development
      • From: "email@hidden" <email@hidden>
References: 
 >GCD and blocks cross development (From: "email@hidden" <email@hidden>)
 >Re: GCD and blocks cross development (From: Steve Christensen <email@hidden>)
 >Re: GCD and blocks cross development (From: Jean-Daniel Dupas <email@hidden>)
 >Re: GCD and blocks cross development (From: Steve Christensen <email@hidden>)
 >Re: GCD and blocks cross development (From: Jean-Daniel Dupas <email@hidden>)
 >Re: GCD and blocks cross development (From: Steve Christensen <email@hidden>)

  • Prev by Date: Re: GCD and blocks cross development
  • Next by Date: Re: GCD and blocks cross development
  • Previous by thread: Re: GCD and blocks cross development
  • Next by thread: Re: GCD and blocks cross development
  • Index(es):
    • Date
    • Thread