最新文章列表

D语言的中文文档

感谢前辈们对D的贡献! 收集了D语言中文文档地址,供大家参考。 uframer(焦冶)的专栏  http://blog.csdn.net/uframer Gemini Blog(隆轩Blog) http://blog.donews.com/haogemini/category/121597.aspx ShowLong的编程专栏http://blog.csdn.net/ShowLong/categ ...
ideage 评论(8) 有13940人浏览 2006-10-09 23:49

[D语言] Array slicing

数组slicing操作并不复制数据。指针的slicing操作和数组slicing语意是相同的。通过slicing生成D数组,比原来直接使用指针的好处是可以有边界检查。最近刚好犯了这个错误,在使用freetype时,render出来的位图数据直接使用slicing生成数组保存起来。由于slicing并不复制数据,这样后面的render操作会覆盖前面的数据,所以我保存的数组其实都指向同一个缓冲区。 ...
qiezi 评论(0) 有1784人浏览 2006-10-06 09:35

[D语言] DMD 0.168发布

新特性:1、给委托增加ptr属性,指向委托所绑定的对象。这是一个语法糖,dg.ptr被转化为cast(void*)dg,它只能作右值,所以除了能读取它以外,在语法上禁止对它赋值。要想把委托绑定到不同的对象,你只能自己实现:class Foo{    int foo;public:    this(int foo){        this.foo = foo;    }    void bar ...
qiezi 评论(0) 有1868人浏览 2006-10-05 09:23

[D语言] DMD 0.167发布

这个版本实现了计划已久的数组直接量。import std.stdio;void main(){  {    static int[] arr = [1,2,3,4,5];    writefln(typeid(typeof(arr[0])));    writefln(arr);  }  {    static float[] arr = [1f,1,3,4,5];    writefln(t ...
qiezi 评论(0) 有1639人浏览 2006-09-19 20:16

[D语言] DMD 0.166发布

这一版本在强大的民意压力之下取消了上一版的“隐式转换表达式为委托”这一特性,取而代之的是一个lazy关键字。取消的理由是这个转换太隐晦了,最好是显式地标示出这种转换,所以引入一个lazy关键字。D语言还在发展中,很多特性都在尝试,这种修改也不是第一次了。首先看看这个lazy。上一版实现了这样一个特性:void log(char[] delegate() msg){  writefln(msg( ...
qiezi 评论(0) 有1660人浏览 2006-09-01 22:34

[D语言] DMD 0.165发布

前几个版本主要是修正BUG,并没有多少新特性,这个版本终于增加了一个“隐式转换表达式到委托”,这个特性也使“懒惰(或延迟)求值”成为可能。详细信息可见:http://www.digitalmars.com/d/lazy-evaluation.html它首先解决了一个存在于java中的日志问题,java里面一个写日志标准格式如下:if (log.isLoggable(Level.INFO)) { ...
qiezi 评论(0) 有1552人浏览 2006-08-21 13:24

[D语言] 用D语言编写Ruby扩展

Ruby语言的官方解释程序是使用C语言开发的,一般用C语言来编写扩展。D语言和C语言是二进制兼容的,所以可以使用D语言编写Ruby扩展。 一、移植C库到D的一般过程 C使用头文件来处理符号依赖,在D里面链接外部库文件时,要使用extern (C)声明来引入符号,这是一个转换过程。 如何转换一个C头文件到D文件?D文档的htomodule.html有详尽说明。一般的 ...
qiezi 评论(0) 有3246人浏览 2006-08-19 06:17

DMD 0.164 发布了

Walter大师 发布了0.164版本的D语言编译器. 这次修改了很多Bug.加入了创建文档注释的宏. <n> 最近我一直在使用.真心希望1.0版本的早日发布. 在http://larsivi.net/的blog中,我发现walter在讨论import的问题. 似乎就要发布1.0了.那里有好几个Pre1.0的帖子. 真让我狂喜. Jole有一篇文章,似乎关系到了 ...
ideage 评论(0) 有1378人浏览 2006-08-15 22:53

COM接口IDL转换为D接口以及__uuidof实现。

D语言里面,可以通过version(Windows)来兼容COM接口,不过对于__uuidof却没有相应实现。 原始COM接口定义类似这样(找个简单的): [     local,     object,     uuid(594f31d0-7f19-11d0-b194-00a0c90dc8bf) ] interface IRpcChannelBuffer2 : IRpcChannelBu ...
qiezi 评论(0) 有4359人浏览 2006-04-11 14:26

C++/D/Python性能比较续

周末抽空做了点小测试,根据http://blog.vckbase.com/jzhang/archive/2006/03/28/18807.html中m网友修改的算法,python版本中读取所有行以后就做一个排序,再去除重复项。这个算法在我的机器上执行时间是1735ms左右,属于python版本中最快的一个。D版本暂还没想到有更优化的做法,D在处理以char[]作key的关联数组时,判断方法是先 ...
qiezi 评论(0) 有5821人浏览 2006-04-03 11:00

C++/D/python性能一比

实际上不是全面测试性能。应该这么说:使用一个你熟悉的语言,用它写出一个高效的版本(做下面那件事)。不小心读到一个帖子:http://blog.vckbase.com/jzhang/archive/2006/03/28/18807.html看到C++竟然被比下去了,自然不是很舒服,毕竟C++对于C并没有太大的性能上的降低,而python是C写的(指Cpython实现),自然不会高过C。(废话,C ...
qiezi 评论(0) 有7932人浏览 2006-03-31 11:06

D语言模板最近的一些改进

不知道什么时候加入了“函数模板参数类型推导”和“类模板(改进型)”,文档中也是悄悄出现了。 函数模板参数类型推导: template Square(T){ T Square(T t) { return t * t; }} 以前调用时必须显式实例化: writefln("The square of %s is %s", 3, Square!(int)(3) ...
qiezi 评论(0) 有1586人浏览 2006-03-15 17:03

从C++到D

从http://www.digitalmars.com/d/cpptod.html摘录 1、构造函数: c++: 1 class Foo 2 { 3     Foo(int x);  4 }; d: 1 class Foo 2 { 3     this(int x) { }  4 } 2、基类初始化 c++: 1 class A { A() { } };
qiezi 评论(0) 有2029人浏览 2006-03-14 12:10

DMDScript脚本工具,DDL项目

DMDScript是Digital Mars提供的一个符合ECMA 262规范的脚本语言,采用D语言编写,开放源代码,可以从http://www.digitalmars.com/dscript看到详细信息,另外有一个C++的实现版本。 另外2个符合ECMA 262规范的脚本语言分别是Netscape的javascript和Microsoft的JScript,目前DMDScript和其它2个不 ...
qiezi 评论(0) 有2280人浏览 2005-11-20 00:20

D语言的模板

D语言的模板使用非常方便灵活,受够了C++模板编写之苦的同学们可以感受一下D语言的模板,下面先展示一个D语言编写的多分派委托类,在我的旧BLOG上曾经写过一个C++版本的,整个过程感觉非常痛苦。。。 闲话少说,请看代码: import std.stdio; template DelegateHandlers(HandlerType, FunctionType) {     Handle ...
qiezi 评论(0) 有2294人浏览 2005-11-11 17:13

D语言调用ActiveX(在窗口中嵌入ActiveX)

这是一个从C移植到D的代码,原文请见“Embed an HTML control in your own window using plain C”,它用C结构模拟了虚表,并且实现了多个接口以完成对Web Browser控 ...
qiezi 评论(0) 有2816人浏览 2005-11-11 12:16

D语言中的in/inout/out参数

private import std.stdio, std.process; void test(int a, inout int b, out int c) {     writefln(a);     writefln(b);     writefln(c);     a = 3;     b = 5;     c = 7; } void main () {     int a = 0,  ...
qiezi 评论(0) 有1991人浏览 2005-11-10 14:51

D语言令人喜爱的几个地方

1、去掉了丑陋的宏。C/C++中的宏是很令人厌烦的,D不允许再使用它。2、好用的字符串常量表达式。除了类C的使用双引号的字符串常量表达式以外,还可以使用`字符。可以使用x"68 65 6C6C 6F"来表示"hello",r"ab\na"则忽略字符串常量中转义字符的转义作用,还可以在字符串常量后加上c, w或d来指示字符串常量是cha ...
qiezi 评论(1) 有2083人浏览 2005-11-02 16:35

配置D语言编程环境

D语言是由Walter Bright开发的,他也是Symantec C++编译器的作者,仅凭这一点就知道D语言一定不错。 D语言的介绍最好是看uframer的blog,他翻译了D语言的大 ...
qiezi 评论(10) 有10892人浏览 2005-11-02 11:17

为C++实现一个IDL (零)

一、问题。这段时间考虑实现一个纯C++的分布式服务包装库,简要描述如下: 有如下类和函数: struct Test{    void test1 (/*in*/ int v1, /*in*/ int* v2);    int test2 (/*in*/ int& v1, /*out*/ int* v2);};int test_func (/*in*/ int*
qiezi 评论(0) 有4706人浏览 2005-09-15 01:27

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) .net(54785) 编程(39454) JSP(37542) 数据结构(36424) Eclipse(31254) PHP(29988) F#(26079) 算法(24867) 脚本(19840) J#(18922) JDBC(17888) ASP(17480) JDK(14881) JVM(14450)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics