I use in some Cocoa app a weak linked library.

In some class I do:

- (BOO)haveNoLibrary
{
        BOOL noHave1 = weak_function == NULL ;  //      does NOT work - is 
always NO

        void *dummy = weak_function;
BOOL noHave2 = dummy == NULL ; // does work - is YES if and only library is missing

        return noHave2;
}

Why is noHave1 always NO?

Next I copied some code from the Framework Programming Guide - Frameworks and Weak Linking:

if (weak_function == NULL)
{
        NSLog(@"%s weak_function %p NULL", __FUNCTION__, weak_function );
}
else
{
        NSLog(@"%s weak_function %p non-NULL", __FUNCTION__, weak_function );
}

The result without library is:
... weak_function 0x0 non-NULL

10.4.11, powerpc-apple-darwin8-gcc-4.0.1. weak_function returns void.


Kind regards,

Gerriet.

_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to