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 a local clone.


Generate the object file for function declarations and critical sections.
generateCodeAndWrite() is the only function seen by the front end.

Source glue.d

void generateCodeAndWrite(Module[] modules, const(char)*[] libmodules, const(char)[] libname, const(char)[] objdir, bool writeLibrary, bool obj, bool oneobj, bool multiobj, bool verbose);
Generate code for modules and write objects/libraries
Module[] modules array of Modules to generate code for
const(char)*[] libmodules array of objects/libraries already generated (passed on command line)
const(char)[] libname {.lib,.a} file output name
const(char)[] objdir directory to write object files to
bool writeLibrary write library file instead of object file(s)
bool obj generate object files
bool oneobj write one object file instead of multiple ones
bool multiobj break one object file into multiple ones
bool verbose print progress message when generatig code
Symbol* bzeroSymbol;
common location for immutable zeros
void obj_append(Dsymbol s);
Append s to list of object files to generate later. Only happens with multiobj.
tym_t totym(Type tx);
Return back end type corresponding to D front end type.
Symbol* getBzeroSymbol();
Generate readonly symbol that consists of a bunch of zeros. Immutable Symbol instances can be mapped over it. Only one is generated per object file.
bzero symbol