Связывание следующих двух файлов дает мне ошибку ссылки:
объявление:
import std.stdio;
extern string test ();
void main() {
writeln(test());
readln();
}
bd:
string test () {
return "hello";
}
ошибка, которую я получаюэто:
Error 42: Symbol Undefined _D1a4testFZAya`
---errorlevel 1
Что не так?
__ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ _
Редактировать: это правильный способ сделать это:
объявление:
import std.stdio;
import b;
void main() {
writeln("some_var from Module b: \"", b.some_var, "\"");
}
бд:
public string some_var = "Hello, world!";
//you can also use static module constructors to set your vars
static this() {
some_var ~= " -- How are you?";
}
Этот код был любезно предоставлен Джошуа Ройшем на отличном форуме D для начинающих на сайте digitalmars.com.