9

我是 D 编程语言的新手,有一个非常简单的问题。

我想编译一次 D 脚本库,然后在我的其他 D 项目中使用它。

在 CI 中链接到 .lib 文件并为它们创建标头,但在 DI 中找不到类似的东西(D 中甚至有某种标头吗?)

我使用 D-IDE 作为我的 IDE,使用 DMD2 作为我的编译器。

4

2 回答 2

11

创建 StaticLib.d:

module StaticLib;

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

编译它:

dmd -lib StaticLib.d -ofStaticLib.lib

创建 App.d:

module App;
import std.stdio;
import StaticLib;

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

创建 StaticLib.di(d 标头):

int func(int x);

编译它:

dmd App.d StaticLib.di StaticLib.lib -ofApp.exe
于 2012-04-28T18:22:27.090 回答
7

有 .di(D 接口)文件可用作头文件,这些文件可以使用 -H 编译器开关从您的源代码生成

但是我见过的库只有要导入的源文件

您可以使用 -I 开关指定编译器将在何处查找导入

并且 -L 开关将被传递给链接器

于 2012-04-28T18:24:23.863 回答