On Tuesday, 2 August 2016 at 16:30:08 UTC, Adam D. Ruppe wrote:
On Tuesday, 2 August 2016 at 16:21:07 UTC, Rufus Smith wrote:
How does one use C main? extern C?
extern(C) int main()
should do it
It doesn't seem to be that easy!
https://wiki.dlang.org/Runtime_internals
If I do this then I get lots of missing imports(the D runtime).
import std.stdio;
import core.runtime;
private alias extern(C) int function(char[][] args) MainFunc;
extern int _d_run_main(int argc, char **argv, MainFunc mainFunc);
extern(C) void main(int argc, char **argv)
{
rt_init();
_d_run_main(argc, argv, &_main);
rt_term();
}
extern(C) int _main(char[][] args) { return 0; }
Or even using the code from the wiki, I get unresolved externals.
Mainly the druntime like stuff(typeinfo, aa stuff, etc...).