2012-04-28 28 views
9

Tôi mới dùng ngôn ngữ lập trình D và có một vấn đề rất đơn giản.Cách liên kết tới Thư viện D trong chương trình D

Tôi muốn biên dịch Thư viện tập lệnh D một lần và sau đó sử dụng nó trong các dự án D khác của tôi.

Trong CI dẫn tới các file .lib và tạo tiêu đề cho họ, nhưng trong DI đừng tìm những thứ như thế (đang có thậm chí một số loại tiêu đề trong D?)

tôi sử dụng D-IDE như IDE và DMD2 của tôi là trình biên dịch của tôi.

Trả lời

7

có .di (giao diện D) các tập tin có thể được sử dụng như tiêu đề này có thể được tạo ra từ các nguồn của bạn với trình biên dịch -H switch

tuy nhiên các thư viện tôi đã thấy sẽ chỉ có các tập tin nguồn nhập khẩu

bạn có thể sử dụng công tắc -I để xác định nơi trình biên dịch sẽ tìm kiếm nhập khẩu

và công tắc -L sẽ được chuyển đến các mối liên kết

11

Tạo StaticLib.d:

module StaticLib; 

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

Biên dịch nó:

dmd -lib StaticLib.d -ofStaticLib.lib 

Tạo App.d:

module App; 
import std.stdio; 
import StaticLib; 

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

Tạo StaticLib.di (d tiêu đề):

int func(int x); 

Biên dịch nó:

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

[Thông số ngôn ngữ] (http://dlang.org/spec/module.html#module_declaration): > Theo quy ước, tên gói và mô-đun đều là chữ thường. Điều này là do những tên này có thể có một sự tương ứng một-một với các tên tệp và thư mục của hệ điều hành, và nhiều hệ thống tệp không phân biệt chữ hoa chữ thường. Tất cả các gói phần mềm và tên mô-đun thấp hơn sẽ giảm thiểu các vấn đề di chuyển các dự án giữa các hệ thống tệp khác nhau. – sigod

Các vấn đề liên quan