Thread overview | |||||
---|---|---|---|---|---|
|
June 23, 2010 D/Objective-C Bridge still alive, now working on D2 | ||||
---|---|---|---|---|
| ||||
Some of you already know my D/Objective-C bridge[1]. I know it has been a while since it was last updated, and it was limited to D1, and was left not working on Snow Leopard. Well, this morning I pushed a working D2 version on the Git repository mirror[2]. This is not an official release, it still lacks a lot of polish and some parts are in flux, but perhaps some of you will be interested in trying it out from the repository. [1]: http://michelf.com/projects/d-objc-bridge/ [2]: http://git.michelf.com/d-objc/ That said, I can't make it compile with the -inline switch. Seems like all those instantiated templates and mixins are too much for the compiler to handle... some files take forever to compile (literally). I guess I should try to reduce the template bloat, which should also reduce the insanely big output files. -- Michel Fortin michel.fortin@michelf.com http://michelf.com/ |
June 24, 2010 Re: D/Objective-C Bridge still alive, now working on D2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Michel Fortin | How does it work? Could something similar be created for C++ (automatically creating wrappers around C++ classes or whatever)? |
June 24, 2010 Re: D/Objective-C Bridge still alive, now working on D2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trass3r | On 2010-06-24 07:36:28 -0400, Trass3r <un@known.com> said: > How does it work? http://michelf.com/weblog/2007/d-objc-bridge/ > Could something similar be created for C++ (automatically creating wrappers around C++ classes or whatever)? Hardly. You could probably manage it somewhat with a custom C++ preprocessor and imposing a common base class, sort of how Qt is build and probably more complex, but it wouldn't fit as well as it does with D. That all D classes derives from Object is quite handy for the bridge as it allows automatic mapping the Objective-C isEqual: method to opEquals, hash to hash, and compare: to opCmp. This automatically makes all D objects good citizens in Objective-C land, and vice-versa, even though you have to manually write mappings for method names if you have additional methods. D classes being always on the heap makes things much smoother too. -- Michel Fortin michel.fortin@michelf.com http://michelf.com/ |
Copyright © 1999-2021 by the D Language Foundation