Current state of "D as a better C" (Windows)?

Dejan Lekic dejan.lekic at gmail.com
Sun Jan 26 07:32:30 PST 2014


On Wednesday, 22 January 2014 at 02:18:43 UTC, Vladimir Panteleev 
wrote:
> Hi,
>
> What's the current situation of using D without Phobos/Druntime?
>
> Sometimes, it's quite useful to be able to use D to create tiny 
> EXEs/DLLs. For example, create simple DLL plugins that will be 
> loaded into non-D programs, or even not have a 50-line program 
> take half a meg. Additionally, some tasks require injecting a 
> DLL systemwide (into every running process), so it is critical 
> to minimize the impact by being as unintrusive as possible and 
> having a minimal overhead.
>
> I've started a "framework" for this purpose a while ago[1], but 
> I heard of people starting similar projects since then and I 
> think they've gotten further than me. Would there be any 
> interest in collaborating and turning this into a community 
> project?
>
> I think some goals would be:
> - A "runtime" (object.d) which provides either stubs for the 
> current compiler hooks, or implementations with minimal 
> dependencies
> - A "standard library" which does not require runtime support, 
> but can also be used when using Druntime (as a GC-free 
> alternative to Phobos)
> - Using MSVCRT on 32-bit as well
> - Options to enable/disable various runtime features? For 
> example, a project may want to use exceptions (which requires 
> ClassInfo) but not the GC.
> - Support for the Unilink linker? I think it is better at 
> generating smaller binaries that OPTLINK.
>
> There is also some ongoing work on the -betterC switch[2], 
> which I'm quite excited about, but it seems to be currently 
> blocked on waiting for the next DMD release as the changes[3] 
> might break a lot of code.
>
>  [1]: https://github.com/CyberShadow/SlimD
>  [2]: https://d.puremagic.com/issues/show_bug.cgi?id=11881
>  [3]: https://github.com/D-Programming-Language/dmd/pull/2561

There was a minimal runtime library project somewhere on 
Bitbucket if I remember. I think the goal is the same. You could 
borrow some code from there perhaps.
In general I totally agree with you. I wanted to do the same, but 
decided to wait for allocators...


More information about the Digitalmars-d mailing list