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.