魔改造版 Windows 2000に D言語入れてみた
Downloads - D Programming Language
まず、インストーラーをダウンロードして実行。
既定では、 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 を 上書きしましょう。
Comments