- 浏览: 497685 次
- 性别:
- 来自: 上海
最新评论
-
hypercube:
markin'
配置D语言编程环境 -
qiezi:
qiezi 写道yangyang_08 写道1 ...
我的编程语言学习经历 -
qiezi:
yangyang_08 写道1、现在如果做并发服务器,楼主选用 ...
我的编程语言学习经历 -
yangyang_08:
1、现在如果做并发服务器,楼主选用什么样的语言架构?2、lua ...
我的编程语言学习经历 -
dearplain:
我也是语言爱好者,不过我一直坚持使用c。
我的编程语言学习经历
文章列表
DMD 0.149发布
- 博客分类:
- D
最近3个版本增加/移除了一些新特性。
0.147中加入了match表达式,不过感觉用处太小了点,果然0.148中又去掉了。
0.148中去掉了bit类型,增加了BitArray类和bool基本类型。on_scope语句算是个比较重要的更新,可用于在代码块结束、异常、成功执行时,完成特定功能。
0.149中on_scope语句改成了scope(...)。
- 2006-03-08 11:36
- 浏览 1627
- 评论(0)
不知道原作者是谁,我是从http://1000y.jx520.net/看到的,那里标注的作者是ddcrack,文章里面没标明作者。
奔腾指令速查手册
指令首字母快速索引:
A
B
C</c>
D
E
F
H
I
J
L
M
N
- 2006-02-18 20:57
- 浏览 3079
- 评论(0)
C++ 0x keynote(以下简称0x)中描述了这样一个看起来不错的东西:1、本地调用代码: // use local object:
X x;
A a;
std::string s("abc");
// …
x.f(a, s);
2、使用远程代理wrapper层: // use remote object :
proxy<X> x;
x.connect("my_host");
A a;
std::string s("abc");
// …
x.f(a, s);
仅使用一个包装层就完 ...
- 2005-12-19 22:50
- 浏览 2622
- 评论(0)
Aspect C++支持“虚切面”,类似C++中的虚函数。方面可以继承,“派生方面”可以重写“基方面”的“虚切面”,类似C++中的类继承。有了这个特性,就可以实现一些模式了,这里列出AOP中经典的观察者(Observer)模式[注]。[注]这个说法不太妥当,观察者模式是经典的设计模式,这里的意思是说AOP经典的观察者模式实现。它的代码如下:
aspect ObserverPattern { // 管理subjects和observers的数据结构 // TODO public: // 角色接口 struct ISubject {}; struct IObser ...
- 2005-12-17 10:21
- 浏览 6856
- 评论(0)
前面简单介绍了Aspect C++,相信没人看出它有什么特别强大的地方。这次特别挑了一个合适的例子,检查内存泄漏。首先看一个普通的程序:1、test.h
#ifndef __TEST_H__#define __TEST_H__class Test1{};class Test2{};class Test3{};#endif // __TEST_H__2、main.cc
#include "test.h"int main (){ Test1 test1; Test2 test2; Test3 test3; new Test1()
- 2005-12-16 22:38
- 浏览 2783
- 评论(0)
AOP是近年炒得很热,但却用得很少的一门技术,不过这并不能阻止我去学习它。既然能一度炒得火热,必定有过人之处。说AOP是一种思想或许更适合一些,它并不描述哪一种专有的技术,也不指定实现方式。众所周知,C++没有丰富的动态类型信息,更没有动态生成类的功能(C++类型在编译后就基本上没有类型存在了),所以无法像java一样采用动态代理来实现AOP。Aspect C++是C++的一个AOP实现,它使用了插入代码的方法。一个典型的Aspect C++示例需要一个C++源文件(.cpp)、一个Aspect C++源文件(.ah),通过ac++编译器把C++源文件和Aspect C++源文件转换成混合 ...
- 2005-12-15 15:43
- 浏览 5802
- 评论(0)
CSDN上看到有人问能否实现一个效率较高的max函数,效率接近于宏,于是自动动手写了一个。由于max宏在判断不同类型时,能够返回大的那个类型(表示范围大),所以只能使用模板来进行返回类型的推导。在VC8上打开O2或Ox优化选项,测试结果是与宏效率相等。全部实现如下:
#include <typeinfo>#include <cassert>#include <windows.h>#include <iostream>template <class T, class U, bool B>struct BigType{ type ...
- 2005-12-12 10:45
- 浏览 1969
- 评论(0)
What's New for D 0.141
Dec 1, 2005
New/Changed Features
The predefined version identifier D_InlineAsm has been changed to D_InlineAsm_X86. The former made no sense, and although it is still defined, it is deprecated.
Added D code coverage analyzer.
Added .mangleof property for t ...
- 2005-12-06 10:41
- 浏览 1769
- 评论(0)
Nov 23, 2005
New/Changed Features
Added std.string.soundex.
Added std.string.entab.
Added std.string.wrap.
Added std.string.abbrev.
Added std.windows.charset (thanks to Stewart Gordon, D/28246).
Added std.demangle to demangle D names.
Improved promotion o ...
- 2005-11-25 13:38
- 浏览 2011
- 评论(0)
DMDScript是Digital Mars提供的一个符合ECMA 262规范的脚本语言,采用D语言编写,开放源代码,可以从http://www.digitalmars.com/dscript看到详细信息,另外有一个C++的实现版本。
另外2个符合ECMA 262规范的脚本语言分别是Netscape的javascript和Microsoft的JScript,目前DMDScript和其它2个不完全兼容,不过效率要高一些。DMDScript提供了一个简单的测试,生成8190以内的质数,迭代10次,在我的机器上,javascript执行耗时566毫秒,DMDScript执行耗时188毫秒,整整 ...
- 2005-11-20 00:20
- 浏览 2313
- 评论(0)
D语言的模板使用非常方便灵活,受够了C++模板编写之苦的同学们可以感受一下D语言的模板,下面先展示一个D语言编写的多分派委托类,在我的旧BLOG上曾经写过一个C++版本的,整个过程感觉非常痛苦。。。
闲话少说,请看代码:
import std.stdio;
template DelegateHandlers(HandlerType, FunctionType)
{
HandlerType[] handlers;
FunctionType[] functions;
void opAddAssign(HandlerType h)
{
h ...
- 2005-11-11 17:13
- 浏览 2326
- 评论(0)
这是一个从C移植到D的代码,原文请见“Embed an HTML control in your own window using plain C”,它用C结构模拟了虚表,并且实现了多个接口以完成对Web Browser控件的调用。
在看完他的代码之后,我对于COM/OLE的了解加深了一些,以前使 ...
- 2005-11-11 12:16
- 浏览 2847
- 评论(0)
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, b = 1, c
- 2005-11-10 14:51
- 浏览 2023
- 评论(0)
v0.138 实现了字符串直接切片调用:
char[] a = "abcde"[2..3];
writefln(a);
char b = "abcde"[3];
writefln(b);
另外修复了一些编译器和文档生成的BUG。
v0.137的重要更新有:
隐式类型引用:
auto c = "abcde"; // c变量自动获得类型char[]
e
- 2005-11-10 12:12
- 浏览 1888
- 评论(0)
1、去掉了丑陋的宏。C/C++中的宏是很令人厌烦的,D不允许再使用它。2、好用的字符串常量表达式。除了类C的使用双引号的字符串常量表达式以外,还可以使用`字符。可以使用x"68 65 6C6C 6F"来表示"hello",r"ab\na"则忽略字符串常量中转义字符的转义作用,还可以在字符串常量后加上c, w或d来指示字符串常量是char[]类型、wchar[]类型还是dchar[]类型。可以使用~运算符连接2个字符串。3、数字。数字可以直接使用,还可以这样来定义:int a = 3_029_301_000; 数字直接量(包括整数、 ...
- 2005-11-02 16:35
- 浏览 2122
- 评论(1)