2012-04-28 20 views
9

Jestem nowy w języku programowania D i mam bardzo prosty problem.Jak połączyć z bibliotekami D w programie D

Chcę raz skompilować bibliotekę skryptów D, a następnie użyć jej w innych moich projektach D.

W CI związane z .lib pliki nagłówków i stworzył dla nich, ale w DI Do not znaleźć takie rzeczy (czy są tam jeszcze jakieś nagłówków w D?)

używam jako D-IDE moje IDE i DMD2 jako mój kompilator.

Odpowiedz

7

Istnieje .di (interfejs D) plików, które mogą być wykorzystane jako nagłówek te mogą być generowane z twoich źródeł z -H przełącznika kompilatora

Jednak mam bibliotek widoczne będą po prostu pliki źródłowe do importowania

można użyć przełącznika -I, aby określić, gdzie kompilator będzie wyglądać import

i przełącznik -L będą przekazywane na łącznik

11

Tworzenie StaticLib.d:

module StaticLib; 

int func(int x) 
{ 
    return x+1; 
} 

skompilować:

dmd -lib StaticLib.d -ofStaticLib.lib 

Tworzenie App.d:

module App; 
import std.stdio; 
import StaticLib; 

void main(string[] args) 
{ 
    writeln("func(3) = ", StaticLib.func(3)); 
} 

Tworzenie StaticLib.di (nagłówka d):

int func(int x); 

skompilować:

dmd App.d StaticLib.di StaticLib.lib -ofApp.exe 
+0

[Specyfikacja językowa] (http://dlang.org/spec/module.html#module_declaration): > Zgodnie z konwencją nazwy paczek i modułów są pisane małymi literami. Dzieje się tak dlatego, że nazwy te mogą mieć powiązanie jeden do jednego z katalogiem i nazwami systemu operacyjnego, a wiele systemów plików nie rozróżnia wielkości liter. Wszystkie nazwy pakietów i modułów dla małych liter zminimalizują problemy z przenoszeniem projektów między różnymi systemami plików. – sigod