rt.dmain2

Contains druntime startup and shutdown routines.

Members

Aliases

TraceHandler
alias TraceHandler = Throwable.TraceInfo function(void* ptr)

Trace handler

Functions

_d_run_main
int _d_run_main(int argc, char** argv, MainFunc 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
Throwable.TraceInfo _d_traceContext(void* 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.

_d_wrun_main
int _d_wrun_main(int argc, wchar** wargv, MainFunc mainFunc)

Windows-specific version for wide command-line arguments, e.g., from a wmain/wWinMain C entry point. This wide version uses the specified arguments, unlike narrow _d_run_main which uses the actual (wide) process arguments instead.

rt_getTraceHandler
TraceHandler rt_getTraceHandler()

Return the current trace handler

rt_init
int 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
void rt_setTraceHandler(TraceHandler h, Throwable.TraceDeallocator d)

Overrides the default trace hander with a user-supplied version.

rt_term
int rt_term()

Terminate use of druntime.

Structs

CArgs
struct CArgs

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

Variables

_initCount
size_t _initCount;

Keep track of how often rt_init/rt_term were called.

Meta

License

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

Authors

Walter Bright, Sean Kelly