《D程序设计语言》中文版已经出版,感谢张雪平等人的辛勤翻译!感谢Andrei和Walter等人的努力!

D语言编译器DMD开源了!!!

建议所有喜欢的人都去新闻组感谢Walter!Walter是我们心目中的英雄!!

未分类文章

Dmd编译器学习笔记

Dmd编译器学习笔记 英文原文在这里: http://digitalmars.com/d/dcompiler.html 在这里有一篇翻译文章: http://sofire.iteye.com/blog/111667 不过,主要是关于windows的;我更关心Linux下的使用。 顺便看看两者有啥区别。 相关文件 注意: Linux的dmd配置文件是dmd.conf Windows的配置文件是s ...
sofire 评论 (0) 有 6754 人浏览 2011-05-26

Ddoc文档注释学习笔记

Ddoc学习笔记 ddoc的英文文档在: http://www.digitalmars.com/d/ddoc.html D语言可以在代码中嵌入文档注释(以下称文档)。 它不仅仅是注释,而且还是一段可供阅读的文档。 这样做的好处是,在开发、维护代码的时候,就能同时维护文档。 对于程序员,写文档比写代码还痛苦;写注释倒是一个大家还可以接受的事情。 在写代码的时候,顺便把文档写了,也许能改善一下文档不 ...
sofire 评论 (0) 有 4100 人浏览 2011-05-26

Build编译工具学习笔记:常用命令参数和BRF文件

build工具的主页在:http://www.dsource.org/projects/build 它以前叫 bud,所以这里混用 bud 和build,都指的同一个东西 build是D语言的编译工具,相当于C的make命令。 但它更简单且好用,因为它能处理 import 语句,自动载入依赖的文件。 看过本文后,基本上可以使用了。 如果你想用它的高级功能,当然还得花时间去研究它。 build 会 ...
sofire 评论 (0) 有 6733 人浏览 2011-05-26

Dotmars 实例之:容器、迭代器与算法框架

Dotmars 实例之:容器、迭代器与算法框架 这几天 Mr. Bright 老是不放新版本,圈子里太冷清了,我来发篇程序凑个数。 这是一个类似 C++ STL 的容器、迭代器和算法框架,迭代器的设计参考了 C++ boost 库中的"new-style" 迭代器,把迭代器的遍历和读写操作分开,内置数组处理参考了 qiezi 的文章: 仿STL的vector,写了一组array ...
oldrev 评论 (0) 有 3009 人浏览 2011-05-26

基于 D 2.0 编译时反射的单元测试框架

一个模仿 Ruby Test::Unit 的 Quick & Dirty 单元测试框架,托 __traits 的福,看起来已经有那么点意思了。提取行号在目前还没法实现,估计等 macro 出来就能解决这个问题。 SVN里的最新版在下面的链接处: dotmars.googlecode.com/svn/trunk/sandbox/2.0/test.d D2.0 代码 /** ...
oldrev 评论 (0) 有 3305 人浏览 2011-05-26

D 2.0 Const/Final/Invariant 概念简介

D 2.0 Const/Final/Invariant 概念简介 D 2.0 specs 里的相关文档可读性不佳,因此我总结了一个简单的 const/final/invariant 概念简介,更详细的用法还请参考 D 2.0 specs。 在2.0中,invariant 和 const 有作存储类、定义类型和定义成员函数三种用途,深刻地改变了D程序编写的方式,跟C++一样,使用const/fina ...
oldrev 评论 (0) 有 1095 人浏览 2011-05-26

DotMars 版 Hello World

DotMars 已经具有初步的样子了,特别发帖庆祝。 DotMars 第一个范例程序(dotmars/samples/io/console.d): D 代码 module samples.io.console; import dotmars.io.console; void main() { class Foo { override char[] toString( ...
oldrev 评论 (0) 有 1151 人浏览 2011-05-26

深入分析D语言接口与COM接口的关系

前两天为了解决dxpcom项目中遇到的xpcom接口兼容性问题,看了一下DMD编译器的源码,对D的接口有了一些了解,现在总结出来,备忘。 D中有了专门用于标识接口的关键字interface,而不用象C++中使用抽象类来代替。 D代码: interface ITest { int test(); } C++代码: class ITest { int test()=0; } 而D中的接口与C ...
h_rain 评论 (0) 有 1765 人浏览 2011-05-26

用Rant自动化D语言程序构建

上回说到 Rank 这个 Ruby 世界最广泛使用的构建工具在 Windows 下有大bug,根本不能运行。Python的scons太慢、自动得过了头,造成定制起来很麻烦..... 最终,我找到了一个叫 Rant 的Ruby构建工具,用起来几乎与 Rank一样,而且特性更多,最重要的是能在 windows 下面正常运行。因此我强烈推荐各位D语言的粉丝使用Rant作为软件构建工具,放弃那些不成熟的ID ...
oldrev 评论 (0) 有 1054 人浏览 2011-05-26

D语言通用 Rakefile

在一个日文网站上发现的通用 Rakefile for GDCrequire "rake/clean"NAME = "hogehoge" # プロジェクト名 ##可执行文件名PROG = "#{NAME}"PROG_DEBUG = "#{NAME}_debug"SRC = "src"SRCS = Fil ...
oldrev 评论 (0) 有 1081 人浏览 2011-05-26

D语言动态创建对象-D最新功能

我认为这是D提供的又一个重量级的功能.闲言少叙,代码说话! 保存为cre.d,使用dmd cre.d编译. module cre; import std.stdio; interface IPrinter { void print(); void init(char[] a); } class foo :IPrinter { void print() { writefln("foo O ...
ideage 评论 (0) 有 1398 人浏览 2011-05-26

D语言学习方法

自从去年看到D后,就深深的被D迷上了.静态类型,本地代码,快速编译,垃圾收集,直接访问C,单元测试,契约编程...太多的特性,并且每个特性都让我为之心动.我喜欢解决问题,更喜欢找到解决问题的方法.工欲善其事吗.看到D这个编程利器后,我几乎天天都在学习D.每天用D编写一段程序,每天看看D的新闻,每天要访问Javaeye的DLang圈子. 看到更多的朋友关注D,学习D,加入D的组织,心里非常高兴. 高兴 ...
ideage 评论 (1) 有 2016 人浏览 2011-05-26

D Tuple 应用:为 struct 添加成员

D的文档里说 struct/class 的 .tupleof 属性可以把一个 struct 的所有成员变量转换为一个 tuple。那么反过来让 tuple 作为 struct 的成员可不可以呢?答案是可以,因为 tuple相当一个可以存放不同元素类型的静态数组,我们只要在 struct 中声明一个 Tuple 实例就能达到目的: D 代码 struct Foo(Tuple...) { ...
oldrev 评论 (0) 有 1040 人浏览 2011-05-26

编译期执行的效率

写了一个编译期执行的fibonacci模板: template fibonacci(long n){ static if(n <= 2) const long fibonacci = 1; else const long fibonacci = fibonacci!(n-1) + fibonacci!(n-2); } static long a = fibonacci!(40); D语 ...
qiezi 评论 (0) 有 1190 人浏览 2011-05-26

D语言的正则表达式例子

部分内容来自wiki4D. module regexp; import std.stdio : writefln; import std.regexp; import std.c.stdio; bool isalpha(char[] c) { RegExp myRegExp; myRegExp = new RegExp("^[a-zA-Z_]+$", ""); ...
ideage 评论 (0) 有 1189 人浏览 2011-05-26

知识库信息

  • qiezi在2007-08-15创建
  • qiezi在2011-05-26更新

最新评论

我深深的期待中.....
maetrive 评论了 D语言学习方法
Global site tag (gtag.js) - Google Analytics