Getting rid of global cdtors

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Jun 18 02:02:43 UTC 2020


On 6/14/20 2:53 PM, Andrei Alexandrescu wrote:
> Getting rid of static cdtors is a good goal for druntime and standard 
> library. Modules that need initialization should do so lazily upon first 
> use.
> 
> I picked a low-hanging fruit in 
> https://github.com/dlang/phobos/pull/7529 - there is no need at all to 
> initialize and test pointers to function in Posix.
> 
> Could a Windows engineer help with the Windows part? It's a bit more 
> involved - the pointers to functions should be initialized upon first 
> use in a Singleton manner, and atexit(WSACleanup) needs to be inserted 
> right after the call to WSAStartup.

I needed to close that PR and it would be great if someone could pick it 
up. I don't have the time to set up a Windows platform. Would be glad to 
take a look over the PR if someone would like to adopt it.

As I noted in the PR, eliminating static cdtors is key to lean and mean 
executables on a pay-as-you-go basis.



More information about the Digitalmars-d mailing list