D/Objective-C 64bit
Christian Schneider via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Fri Nov 7 04:12:10 PST 2014
>> Also when I tried to declare / use extern strings like from
>> NSApplication.h:
>>
>> APPKIT_EXTERN NSString *NSApplicationDidHideNotification;
>>
>> I found no way to get this working. Is this a limitation of
>> the current
>> 64 bit port?
>
> I think that should work. How did you declare it? It should be
> declared like this:
>
> extern (C) extern NSString NSApplicationDidHideNotification;
>
> I tried with a standard D compiler and void* instead of
> NSString and that worked.
>
> "extern (C)" tells the compiler to use C linkage, the second
> "extern" tells the compiler this symbols is defined somewhere
> else, i.e. in some library.
Jacob, thank you very much for your reply and explanations!
I get EXC_BAD_ACCESS (SIGSEGV) for both NSString and void * if I
use the declaration you suggested.
In the case for notification string constants, when I log it in
Objective-C, it just equals to
"NSApplicationDidHideNotification", so these could be simply
redeclared for such strings, but that's not very stylish and
against the basic idea, i guess.
More information about the Digitalmars-d-announce
mailing list