rt.dmain2

Contains druntime startup and shutdown routines.

License:
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
Authors:
Walter Bright, Sean Kelly
Source
rt/dmain2.d
void* gc_getProxy();

These are a temporary means of providing a GC hook for DLL use. They may be replaced with some other similar functionality later.

void gc_setProxy(void* p);

These are a temporary means of providing a GC hook for DLL use. They may be replaced with some other similar functionality later.

void gc_clrProxy();

These are a temporary means of providing a GC hook for DLL use. They may be replaced with some other similar functionality later.

alias gcGetFn = extern (C) void* function();

These are a temporary means of providing a GC hook for DLL use. They may be replaced with some other similar functionality later.

alias gcSetFn = extern (C) void function(void*);

These are a temporary means of providing a GC hook for DLL use. They may be replaced with some other similar functionality later.

alias gcClrFn = extern (C) void function();

These are a temporary means of providing a GC hook for DLL use. They may be replaced with some other similar functionality later.

shared size_t _initCount;

Keep track of how often rt_init/rt_term were called.

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().

int rt_term();

Terminate use of druntime.

alias TraceHandler = TraceInfo function(void* ptr);

Trace handler

void rt_setTraceHandler(TraceHandler h);

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

Parameters:
TraceHandler h The new trace handler. Set to null to use the default handler.
TraceHandler rt_getTraceHandler();

Return the current trace handler

Throwable.TraceInfo _d_traceContext(void* ptr = null);

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.

Parameters:
void* ptr A pointer to the location from which to generate the trace, or null if the trace should be generated from within the trace handler itself.
Returns:
An object describing the current calling context or null if no handler is supplied.
struct CArgs;

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

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.

© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/rt_dmain2.html