On Tuesday, 25 September 2012 at 11:52:38 UTC, Manu wrote:
So I have this recurring pattern, it's really starting to annoy me. It stems from the fact that a function prototype and the definition can not
appear in the same file in D (as it can in C/C++)
[...]
Go on, tear me apart... :)

I'm not sure I understand what benefit you are giving, I'll explain a situation I went through.

tldr: I like having a clean "header" file for static linking. It would be nice to build off that to dynamically link.

I wanted to load up a DLL (C++ with C interface). Found this nifty file on stackoverflow

http://stackoverflow.com/questions/3818229/loading-plugins-dlls-on-the-fly

Didn't want to write all those mixins myself. I already had the "header" file for my DLL and didn't want to write all those mixins.

I created an array with all the function names, then created a function which took iterated this array and asked for the function type as I'd imported the "header."

I ran into a bunch of runtime errors with this setup, probably didn't like the duplication of function names. Or something completely different.

Finally I went to static linking. Since I had a nice clean header I didn't need to do anything fancy, pragma(lib) my .lib file and disable the defFunctions mixin.

Reply via email to