Hi people.

The 'version' keyword sounds like a fantastic capability, but how far does DMD take it (and does GDC take it equally far)? This is not a "D Improvement Proposal", I am just asking how it is now.

Can code of multiple versions be compiled into the same executable or library, and a particular one selected from "later"? I guess not without some name mangling and wrangling.

Can such selection be done at link-time for standard as well as user-defined library code? Maybe some library file naming conventions are followed to allow the compiler to select the corresponding file?

Wishful thinking, but can the selection be at runtime? That would be language support for making some things easy, e.g. picking from assembly-coded routines based on runtime CPU id (the video player MPlayer picks routines that way, and I read that the D library, Mir, has CPU id support).


P.S: I am a brand-new C++'y asylum seeker who may have missed seeing some documentation, so RTFM is a valid response.

P.P.S: This question was triggered by the D GSoC project for independent-of-C implementations of malloc/free/memcpy/memset. Could a common malloc be exposed to the D runtime/Phobos/programs, with the C or D implementations selectable at link-time (using a mechanism available to user code too)?

Reply via email to