View source code
Display the source code in rt/dmain2.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Module rt.dmain2

Contains druntime startup and shutdown routines.

Functions

NameDescription
_d_run_main(argc, argv, mainFunc) Sets up the D char[][] command-line args, initializes druntime, runs embedded unittests and then runs the given D main() function, optionally catching and printing any unhandled exceptions.
_d_traceContext(ptr) This function will be called when an exception is constructed. The user-supplied trace handler will be called if one has been supplied, otherwise no trace will be generated.
rt_getTraceHandler() Return the current trace handler
rt_init() Initialize druntime. If a C program wishes to call D code, and there's no D main(), then it must call rt_init() and rt_term().
rt_setTraceHandler(h, d) Overrides the default trace hander with a user-supplied version.
rt_term() Terminate use of druntime.

Structs

NameDescription
CArgs Provide out-of-band access to the original C argc/argv passed to this program via main(argc,argv).

Global variables

NameTypeDescription
_initCount shared(ulong) Keep track of how often rt_init/rt_term were called.

Aliases

NameTypeDescription
TraceHandler object.Throwable.TraceInfo function(void*) Trace handler

Authors

Walter Bright, Sean Kelly

License

Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)