国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 用Rant自動化D語言程序構建

用Rant自動化D語言程序構建
2010-01-13 21:07:02  作者:  來源:

用Rant自動化D語言程序構建
    
上回說到 Rank 這個 Ruby 世界最廣泛使用的構建工具在 Windows 下有大bug,根本不能運行。Python的scons太慢、自動得過了頭,造成定制起來很麻煩.....
最終,我找到了一個叫 Rant 的Ruby構建工具,用起來幾乎與 Rank一樣,而且特性更多,最重要的是能在 windows 下面正常運行。因此我強烈推薦各位D語言的粉絲使用Rant作為軟件構建工具,放棄那些不成熟的IDE。用Rant的好處是還能順帶學習一下Ruby語言,對于像我一樣的Ruby&&D雙料菜鳥,這是不可多得的學習機會。

如果沒有Ruby,請先下載安裝 Ruby。 然后在控制臺中輸入:gem --remote install rant,系統將會自動安裝并配置好 rant
下面是我寫的 for DMD 萬用 Rantfile 模板,只要把它放到你的D程序所在的目錄,稍加修改就能使用。

RANTFILE 代碼
# The Rantfile for DMD

# Author: oldrev (wstringgmail.com)
# No copyrights, use it freely

import "AutoClean"

#require "rant/filelist"

# 請自行定義下面幾行

NAME = "foo.exe" # 可執行文件名
SRC = "./src" # D 源程序在 ./src 目錄下(包括子目錄)
LIBS = ["advapi32.lib", "uuid.lib", "ole32.lib"] # 程序用到的附加 .lib
DEBUG_FLAGS = "-debug -g"
RELEASE_FLAGS ="-release -O"

DC = "dmd.exe"
IMPLIB = "implib.exe"
PROG = "#{NAME}"
PROG_DEBUG = "#{NAME}"

SRCS = Rant::FileList[SRC + "/**/*.d"]
OBJS = SRCS.ext "obj"
OBJS_DEBUG = SRCS.map {|file| file.sub /\.d$/, "_debug.obj"}

DEFS = Rant::FileList[SRC + "/**/*.def"]
ILIBS = DEFS.ext "lib"

task :default => :debug
task :release => :program
task :debug => :program_d


def dolink(target, t)
sys.sh "#{DC} -of#{target} #{t.prerequisites.join(' ')} #{LIBS.join(' ')}"
end

task :program => OBJS.entries + ILIBS.entries do |t|
dolink PROG_DEBUG, t
end

task :program_d => OBJS_DEBUG.entries + ILIBS.entries do |t|
dolink PROG, t
end

gen Rule, ".obj" => ".d" do |t|
sys.sh "#{DC} #{t.source} -c -I#{SRC} #{RELEASE_FLAGS} -of#{t.name}"
end

gen Rule, "_debug.obj" => ".d" do |t|
sys "#{DC} #{t.source} #{DEBUG_FLAGS} -c -I#{SRC} -of#{t.name}"
end

gen Rule, ".lib" => ".def" do |t|
# DigitalMars 的 implib.exe 程序不認識 '/' 分割的路徑
lib = t.name.gsub("/", "\\")
dotdef = t.source.gsub("/", "\\")
sys.sh "#{IMPLIB} /system #{lib} #{dotdef}"
end

task :clean do
sys.rm_f OBJS
sys.rm_f OBJS_DEBUG
sys.rm_f ILIBS
sys.rm_f PROG
sys.rm_f PROG_DEBUG
end

此 Rantfile 能掃描源程序目錄的所有.d文件,并自動編譯連接。如果源程序目錄存在 .def 的 DLL 導入庫定義文件的話,也會自動生成 .lib,并鏈接到程序中。

rant 的用法與make基本一致:
rant debug //建立 debug 版程序
rant release // 建立 release 版程序
rant clean // 清理零時文件
rant -f build.rb //指定build.rb為rantfile,而不是當前目錄下的 Rantfile

更多信息請登陸http://61.191.27.74:802/ 最后,歡迎加入http://61.191.27.74:802/的會員


安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费
<button id="0mgmq"><pre id="0mgmq"></pre></button>
  • <tr id="0mgmq"></tr>
  • <abbr id="0mgmq"><source id="0mgmq"></source></abbr> <button id="0mgmq"></button>
  • 一区二区日本| 亚洲黄色免费| 欧美全黄视频| 国产日韩欧美三区| 国产三级精品在线不卡| 免费成人av网站| 欧美精品日韩| 成人18视频| 你懂的国产精品| 亚洲欧美bt| 亚洲欧美日韩另类精品一区二区三区 | 亚洲欧美日韩国产综合精品二区 | 亚洲影音先锋| 亚洲精品1234| 亚洲人人精品| 黄色成人在线网址| 国内一区二区在线视频观看| 欧美日本中文| 午夜精品影院| 国产精品国产三级国产专区53| 91久久久一线二线三线品牌| 欧美久久成人| 国内精品美女在线观看| 欧美午夜在线| 99国产精品99久久久久久粉嫩| 免费精品视频一区| 区一区二区三区中文字幕| 久久午夜电影| 亚洲激情一区二区| 国产精品久久久一区二区| 亚洲国产高清一区| 亚洲欧美影院| 午夜日韩福利| 日韩亚洲视频| 久久一区亚洲| 欧美精品一区二区三区在线四季 | 午夜久久tv| 亚洲青涩在线| 99porn视频在线| 国内久久视频| 亚洲欧美日韩视频二区 | 亚洲第一毛片| 久久精品人人| 亚洲一区国产一区| 成人高清在线观看| 欧日韩一区二区三区| 欧美午夜视频| 久久综合影视| 四虎影院一区二区三区| 久久www免费人成精品| 不卡的av一区| 亚洲草草视频| 神马一区二区影院| 91久久国产自产拍夜夜嗨| 97国产超碰| 性欧美精品一区二区三区在线播放| 欧美精品大片| 老司机免费视频久久| 欧美污视频久久久| 影音先锋日韩资源| 国产欧美丝袜| 精品99视频| 国产一区二区三区av在线| 中文字幕久久综合| 免播放器亚洲| 欧美一区二区三区四区夜夜大片 | 欧美在线不卡| www.久久爱.cn| 午夜欧美精品| 好吊色欧美一区二区三区四区 | 久久综合九色99| 久久婷婷开心| 亚洲精品乱码久久久久久蜜桃麻豆 | 在线不卡日本| 国产精品乱码| 久久综合九色综合网站| 影音欧美亚洲| 欧美日韩在线不卡一区| 国产美女在线精品免费观看| 性欧美大战久久久久久久免费观看| 亚洲色图自拍| 国产三级精品在线不卡| 伊人久久成人| 日韩欧美三级一区二区| 久久一区二区精品| 欧美精品一区二区三区在线看午夜 | 欧美精品一区二区视频 | 免费日韩精品中文字幕视频在线| 日韩欧美一区二区三区四区| 91久久极品少妇xxxxⅹ软件| 亚洲成人资源| 中文字幕色一区二区| 免费成人av网站| 99c视频在线| 男人的天堂亚洲| 亚洲午夜精品福利| 亚洲一区不卡在线| 久久久人人爽| 成人免费在线一区二区三区| 一区二区高清| 影音先锋中文字幕一区二区| 亚洲欧洲国产日韩精品| 久久久一本精品99久久精品66| 亚洲欧美不卡| 亚洲欧美成人综合| 一本久久知道综合久久| 黄色一区二区三区四区| 欧美一区二区三区免费看| 污视频在线免费观看一区二区三区| 高清一区二区三区视频| 97久久天天综合色天天综合色hd| 国产一区导航| 国产日韩欧美亚洲一区| 亚洲日韩成人| 国产一区二区久久久| 国产日韩在线一区二区三区| 影音先锋日韩资源| 亚洲欧洲三级| 亚洲美女色禁图| 国产精品乱子乱xxxx| 国产一区二区你懂的| 国产偷自视频区视频一区二区| 中国成人在线视频| 国产女主播一区二区| 久久激情网站| 国产在线欧美日韩| 久久国产精品高清| 欧美一区二区综合| 亚洲色图自拍| 亚洲第一在线| 久久亚洲国产精品日日av夜夜| 久热这里只精品99re8久| 97超碰人人看人人| 久久人人97超碰人人澡爱香蕉| 欧美亚洲精品日韩| 午夜久久资源| 国产视频在线观看一区| 97久草视频| 日本免费高清一区| 国产精品试看| 一区二区三区国产在线| 亚洲不卡1区| 狠色狠色综合久久| 久久99伊人| 久久婷婷亚洲| 欧美日韩福利| 国产日韩综合| 午夜一区在线| 国产精品久久久久久久久婷婷| 成人羞羞视频免费| 欧美激情www| 欧美激情五月| 91九色在线观看| 欧日韩一区二区三区| 韩国久久久久| 不卡的av一区| 亚洲一一在线| 九九久久99| 好吊色欧美一区二区三区四区| 国产精品久久久一区二区三区| 国产一区再线| 欧美99在线视频观看| 久久久久国产精品午夜一区| 欧美一级二级三级九九九| 欧美视频四区| 国产精品毛片va一区二区三区| 亚洲区一区二区三区| 老鸭窝毛片一区二区三区| 日本不卡一区二区三区视频| 99精品视频免费观看| 欧美日韩成人一区二区三区| 在线不卡视频| 久久精品二区| 在线亚洲美日韩| 亚洲春色综合另类校园电影| 欧美一级播放| 欧美体内she精视频在线观看| 99久久久精品免费观看国产| 亚洲一区二区三区精品在线观看| 美日韩精品视频| 欧美福利影院| 久久99国产精品99久久| 国产精品美女久久久浪潮软件| 日本精品二区| 久久久久欧美精品| 一区在线播放| 亚洲精品成人自拍| 粉嫩av四季av绯色av第一区| 亚洲激情自拍| 色噜噜狠狠一区二区三区| 久久一区亚洲| 国产欧美一区二区三区另类精品| 日本不卡免费新一二三区| av在线亚洲男人的天堂| 日韩午夜一区| 欧美日韩国产亚洲一区| 欧美一级二级三级九九九| 99精彩视频在线观看免费| 99国产精品久久久久老师| 欧美精品1区|