[D-runtime] What is the point of _d_run_main() in druntime/src/rt/dmain2.d?
Jonathan M Davis
jmdavisProg at gmx.com
Sun Aug 11 14:50:10 PDT 2013
On Sunday, August 11, 2013 22:23:12 Iain Buclaw wrote:
> On 11 August 2013 20:40, Jacob Carlborg <doob at me.com> wrote:
> > On 10 aug 2013, at 00:04, Walter Bright <walter at digitalmars.com> wrote:
> >> I cannot see any use for it, though there was obviously one in mind when
> >> it was created. Does anyone remember? Does anyone use it?>
> > I guess it's so you can implement your own C main function and call
> > "_d_run_main" from it. This is also what the comments say. GDC, and
> > possibly LDC, used this approach long before DMD, perhaps a change to
> > unify the different runtimes. Here's the commit that introduced it, if it
> > helps:
> >
> > https://github.com/D-Programming-Language/druntime/commit/278968f5029f0cc9
> > 137a0d21c641d64604674be2
> Originally for gdc, C main was in it's own module. The idea being
> that should druntime be built as a shared library, C main would not be
> included in it. This was to allow other languages which have their
> own C main to link again druntime/phobos.
>
> I'm not sure if allowing other languages to link against druntime is a
> goal anymore...
Isn't that what the the guys doing Win32 GUI stuff with D have been doing? At
least, I recall them having to use C's main and then do call various things in
druntime to initialize it so that they could use their D code properly.
Unfortunately, I don't remember any of the details though.
- Jonathan M Davis
More information about the D-runtime
mailing list