On 2013-04-08 14:27, Maxim Fomin wrote:

This is exactly why main() does not necessarily forwards to _Dmain().

import std.stdio;

alias extern(C) int function(char[][] args) MainFunc;

extern (C) int _d_run_main(int argc, char **argv, MainFunc mainFunc);

extern(C) int main(int argc, char** argv)
{
     return _d_run_main(argc, argv, &bar);
}

void main()
{
     writeln("D main");
}

extern(C) int bar(char[][] args)
{
     writeln("bar");
     return 0;
}

Guess what would happen.

Sure, if you redefine the C main function.

--
/Jacob Carlborg

Reply via email to