Below is working on Windows

--file dimedll.d:

module dimedll;
import core.sys.windows.windows;
import core.sys.windows.dll;
import std.stdio;

mixin SimpleDllMain;

    export void testFunc()
    {
        writeln("This is from dll");
    }


--file dime.d:

import core.sys.windows.windows;
import std.stdio;
import dimedll;
pragma(lib, "dimedll.lib");

    void main() {       
        writeln("Lets call testFunc()");
        testFunc();             
    }


--file dimedll.di:

module dimedll;
extern void testFunc();


--file dimedll.def

LIBRARY "dimedll.dll"
EXETYPE NT
SUBSYSTEM WINDOWS
CODE SHARED EXECUTE
DATA WRITE


-- command lines in sequence:
-- there should be files as first dmd: dimedll.exp, dimedll.lib, dimedll.obj

dmd -of=dimedll.dll dimedll.d dimedll.def
dmd dime.d dimedll.di

Reply via email to