魔改造版 Windows 2000に D言語入れてみた

Downloads - D Programming Language
まず、インストーラーをダウンロードして実行。

dl
既定では、 C:\D にフォルダが作られてそこにバイナリがインストールされます。

D言語のサイトに行くと、コンパイラとして DMD を使うように書かれていますが、現在はDMCというコンパイラが既定でインストールされるのみです。

DMD32 D Compiler v2.066.1
Copyright (c) 1999-2014 by Digital Mars written by Walter Bright
Documentation: http://dlang.org/
Usage:
  dmd files.d ... { -switch }

Digital Mars Compiler Version 8.42n
Copyright (C) Digital Mars 2000-2004.  All Rights Reserved.
Written by Walter Bright  www.digitalmars.com/ctg/sc.html
DMC is a one-step program to compile and link C++, C and ASM files.
Usage ([] means optional, ... means zero or more):

        DMC file... [flags...] [@respfile]

みた所、 DMD はD言語専用。
DMC は Cやアセンブラにも対応しているという感じでしょうか?

DMD ... Digital Mars D Compiler.
DMC ... Digital Mars Compiler.

C:\D\src>dmc hello.d
Error: cannot find source code for runtime library file 'object.d'
       dmd might not be correctly installed. Run 'dmd -man' for installation ins
tructions.
import path[0] = C:\D\dm\bin\..\..\src\phobos
import path[1] = C:\D\dm\bin\..\..\src\druntime\import
--- errorlevel 1

そのままコンパイルするとエラーになります。

エラー見ると、
C:\D\src\phobos
C:\D\src\druntime が無いぞってエラーです。

dmd2 をダウンロードして解凍すると…。

dmd2\src\phobos や dmd2\src\druntime があるので、これを D直下に src フォルダごとコピーします。

hello.d

private import std.string;
private import std.stream;
import std.stdio;
     // 標準出力に文字列"Hello, World !"を出力する
int main(char[][] argv) {
     write("Hello, World !\n");
     return 0;
}

zipexample.d

import std.zip;
import std.file;
int main()
{
    auto am = new ArchiveMember;
    am.expandedData = cast(ubyte[]) read("zipexample.d");
    am.name = "zipexample.d";
    auto za = new ZipArchive;
    za.addMember(am);
    za.build();
    write("zipexample.zip",za.data);
    return 0;
}

コンパイルすると、 exe ファイルができます。
実行できました?

DMD2パッケージの Windows\bin に入っている rdmd.exe を使うと、コンパイルと実行が一度にできて便利ですね・ω・

これらを導入する場合は Windows 直下の bin と lib を 上書きしましょう。



おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です