DMD now does Dwarf style exception handling!

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Tue Jan 5 13:48:13 PST 2016


On Tuesday, 5 January 2016 at 21:33:07 UTC, Walter Bright wrote:
> On 1/5/2016 10:57 AM, Ola Fosheim Grøstad wrote:
>> CoreFoundation provides easy bridging with Objective-C/Swift.
>
> CF is an interface to C, not C++, and it uses wrappers and 
> such, not direct APIs. It also has COM-like support - D also 
> supported COM since Day 1.
>
> That isn't remotely good enough to be called an interface to 
> C++.

I think I wasn't clear in what I wrote. CoreFoundation is 
implemented in C, but CF objects aren't really an interface to C, 
but memory objects that (may) provide a toll free bridge to 
NSObject ARC protocols. Thus supports ARC by recasting a pointer 
rather than wrapping or conversion.

My point was more that in order to interface well with Swift I 
should generate objects that are toll free castable to ARC 
objects when I allocate. But I don't want that in my C++ code 
anyway, so therefore I might as well have a Objective-C++ layer 
between Swift and C++ on iOS.

I don't want lots of raw C malloc or C++ objects on the Swift 
side...

As Jacob pointed out, that does not work on Linux, but I am ok 
with C interfaces to C++ code on Linux.

iOS is different since so many OS calls _requires_ Objective-C 
function calls, so on iOS you often need to mix Objective-C and 
C++ (or whatever language you use).




More information about the Digitalmars-d mailing list