On Friday, 12 August 2016 at 00:57:42 UTC, grampus wrote:
Hi,erveryone
I am trying to use dLang to make so file for existing c/c++ project. I followed the examples on https://dlang.org/dll-linux.html, which works well.

but when I replaced import core.stdc.stdio; with import std.stdioļ¼›
to use writefln() instead of printf(), then things changed.


To expand on ketmar's answer, support for some language features exists in D Runtime. If you never use those features directly or indirectly (which means limiting yourself to the C API, avoiding anything that touches the GC, no associative arrays, and so on) then you don't need to initialize D runtime. That's why you don't see the problem when calling printf, but writeln uses features internally that require the D Runtime and so you get the error when you execute the program.

Reply via email to