Misc questions:- licensing, VC++ IDE compatible, GPGPU, LTCG, QT, SDL

Robert Clipsham robert at octarineparrot.com
Sun May 16 08:09:32 PDT 2010

On 16/05/10 15:27, Dan W wrote:
> Hi all, I'm toying around with the idea of porting my raytracer codebase to D.
> But before committing, I have a few rookie questions:
> 1: What kind of license is the D compiler under? I'm thinking of shipping a
> commercial, close sourced (for now) program with the D compiler (so that users
> can compile within the GUI). Is this possible to do, or can I least pay for the
> priviledge?

dmd is under 2 (3) licenses, one for the front end and one for the 
backend. I won't go into details, you can find the details in the 
archives though. Long story short if you want to redistribute dmd you 
have to ask Walter for the priviledge. LDC and GDC have no such 
restrictions, you can include them as long as you don't modify the 
source, and if you do then you distribute the source as well as the 

> 2: Is it possible to use D with the Visual C++ IDE? Preferably, I would like
> the apprepriate compiler and D options listed in the options (in place of the
> usual c/c++ options).

Try VisualD, which was released about a month ago. I haven't tried it 
yet, I believe it still has some way to go... This said its current 
feature list looks impressive.


> 3: I need my program to be as fast as possible. The Visual C++ compiler has
> features such as "link-time code generation" and "Profile guided optimization".
> Does D have equivalents?

If you want LTO you'll need to use LDC with some fancy compilation steps 
(I believe bearophile, our resident benchmarker should be able to 
provide you with these). The downside to LDC is that it does not support 
exceptions on windows (it will support them as soon as llvm does).

> 4: Does D play nicely with QT, SDL, Lua?

http://dsource.org/projects/qtd/ - Qt bindings
http://dsource.org/projects/luad/ - Lua bindings
http://dsource.org/projects/derelict/ - Various bindings for 
multimedia/game apps including SDL, OpenGL, OpenAL etc

> 5: How about compatibility with GPGPU stuff like CUDA and OpenCL? Can I just as
> easily write GPGPU programs which run as fast as I can with C/C++?

I don't know what the status of this is, I think a couple of people have 
written some initial bindings for either CUDA or OpenCL, perhaps someone 
else can enlighten you as to their status. As for their speed it will be 
just as fast as the equivilant code in C/C++.

I hope things go well for you, there's a lot of initial hurdles for 
getting into D, but once you find your way around them you'll learn to 
love this great language! There are lots of people that have written ray 
tracers in D, so should you need assistance there's people who can help.

More information about the Digitalmars-d mailing list