- 浏览: 146193 次
- 性别:
- 来自: 北京
最新评论
-
wokcao:
这里的platforms是linux的版本么?
Android SDK Download List -
zhangtianfeng:
我看了 一些D语言的一些介绍,对于的产生还是有的疑惑.
Dmd编译器学习笔记 -
qiezi:
.so文件是用-L来指定的,比如gcc的-levent是用来链 ...
Dmd编译器学习笔记 -
tomqyp:
...
Ddoc文档注释学习笔记 -
sofire:
转换成其他语言?是说用汉字吗?
Ddoc文档注释学习笔记
文章列表
去年学过Go语言,觉得挺有意思的。因为Go还不成熟,稳定,加上工作上也暂时用不到。就没有继续用下去。最近因为打字太多,尤其是分号,小指很疼,就想找个没有分号的编程语言,就又想起Go语言了。它简洁的语法很符合我的需求,加上其他一些特性,让我产生一直用下去的想法。
Go语言现在还不是流行语言,一些库还不成熟。甚至语言本身也不成熟。Go 1明年才会出来;Go appengine也还是实验性质,明年才会出正式的;Windows平台也不大成熟好用。
但对我来说,他已经很好了。至少在WEB、网络编程方面可以写一些实用工具了。
其实,我甚至都没有工具需要用Go,或者C/C++/Python写,只是觉得Go语 ...
Phpdocumentor文档的阅读笔记
把 PhpDocumentor/phpDocumentor/Converter.inc 的4209行的
$this->class_data->append('consts',array_merge(
改成了
$this->page_data->append('consts',array_merge(
不知道对不对
<?php
//----- 文档块 ----------------------------
/**
...
- 2007-09-04 02:36
- 浏览 4357
- 评论(0)
Dmd编译器学习笔记
英文原文在这里:
http://digitalmars.com/d/dcompiler.html
在这里有一篇翻译文章:
http://sofire.iteye.com/blog/111667
不过,主要是关于windows的;我更关心Linux下的使用。
顺便看看两者有啥区别。
相关文件
注意:
Linux的dmd配置文件是dmd.conf
Windows的配置文件是sc.ini
/dmd/bin/dmd
D 编译器的可执行文件
/dmd/bin/dumpobj
Elf file dumper
/dmd/bin/obj2asm
E ...
- 2007-08-15 17:28
- 浏览 4621
- 评论(2)
Ddoc学习笔记
ddoc的英文文档在:
http://www.digitalmars.com/d/ddoc.html
D语言可以在代码中嵌入文档注释(以下称文档)。
它不仅仅是注释,而且还是一段可供阅读的文档。
这样做的好处是,在开发、维护代码的时候,就能同时维护文 ...
- 2007-08-14 02:49
- 浏览 4852
- 评论(6)
Javaeye的html编辑器用起来不爽。
不知道怎么用UBB标签的表格标签。
by: D语言论坛 http://bbs.yidabu.com/forum-10-1.html
from: http://digitalmars.com/d/dcompiler.html
version: 基于D 1.014
D语言编译器下载
最新版DMD编译器下载(Win32,Linux)
http://ftp.digitalmars.com/dmd.zip
最新版DMC下载(Win32,包含链接器和工具)
http://ftp.digitalmars.com/dmc.zip
任意版本DMD下载:
http://d ...
- 2007-08-13 10:53
- 浏览 5532
- 评论(0)
build工具的主页在:http://www.dsource.org/projects/build
它以前叫 bud,所以这里混用 bud 和build,都指的同一个东西
build是D语言的编译工具,相当于C的make命令。
但它更简单且好用,因为它能处理 import 语句,自动载入依赖的文件。
看过本文后,基本上可以使用了。
如果你想用它的高级功能,当然还得花时间去研究它。
build 会涉及的文件有:
brf文件 (Build Response File) -- bud命令的参数文件
源文件的 Pragmas 指令
rdf文件 (Rule Definition File) ...
- 2007-08-12 23:42
- 浏览 6041
- 评论(10)
以前用php的iconv函数,使用起来很简单。
用C来写的时候,发现要完全理解了iconv接口才能好程序。
一点不直观。也许是因为性能问题吧,它没有封装一个简单的接口。
对于懒惰的程序员,还是提供一些简单的接口比较好。
因为 ...
- 2007-08-11 23:40
- 浏览 4907
- 评论(0)
用bcdgen转换的头文件。
对xml不大感兴趣。只是尝试用D语言改写,证明它还是能正确处理xml的。
和C程序差不多。真不爽。
/**
* expat 中的例子改写成D语言
* Edit By Liu Dehong @ 2007/08/10
* version: 1.0
*/
import std.stdio;
import std.stream;
import bcd.expat.xmlparse;
extern(C)
void startElement(void* userData, XML_Char* name, XML_Char** atts)
...
- 2007-08-10 17:20
- 浏览 4676
- 评论(0)
尝试把 libmemcached的示例程序改成D语言的。
源程序 和示例程序可以从 这里下载:
http://people.freebsd.org/~seanc/libmemcache/
也可以从附件下载
本程序使用了bcd程序来转换c语言的头文件。
转换后的memcache.h为 bcd.libmemcache.memcache
有几个函数和类型没有转换(?),手动添加进去的。
编译方法为:
先把libmemcache装上,默认装到/usr/local下
然后用:
dmd memcached.d /usr/local/lib/libmemcache.a
PS:libmemcache的错误 ...
- 2007-08-10 12:26
- 浏览 2730
- 评论(0)
改写了QQIP地址库的查询程序,学习了怎么操作文件。
也学会了正确使用tar命令。
本来想把 ip.d ip.php 和 QQWry.dat 文件打包成 a.tgz的,
结果把命令写成了 tar czf ip.d ip.php QQWry.dat a.tgz
把辛辛苦苦的写的程序给覆盖了:(
重新写了一遍,发现还是很快的。
/**
* QQWry.dat IP地址库的查找程序
* Edit by Liu Dehong @ 2007/08/08
* Version: 1.0.0
*
* 改编自 马秉尧 的PHP程序
* QQWry.dat 来自于 CZ88.net
* ...
- 2007-08-09 10:13
- 浏览 2256
- 评论(0)
这2个是PHP里面的常用函数,用D重新包装了一下。
虽然可以使用,但没有错误判断。
顺便练习了一下C字符串和D字符串之间的转换。
import std.stdio;
import std.string;
extern(C)
{
uint ntohl(uint);
uint inet_addr(char *cp);
uint htonl(uint hostlong);
char* inet_ntoa(in_addr);
struct in_addr
{
uint s_addr;
}
}
...
- 2007-08-08 13:00
- 浏览 2994
- 评论(0)
前面部分是库文件里面的例子,后面是我改的。
写起来和PHP差不多简单。呵呵,有例子就是好。
源程序里面定义编译不了:
ubyte[4 * 1024] buffer;
我改成了
ubyte[] buffer;
buffer.length = 4 * 1024;
也许下面的写法更好些,谁知道呢?
ubyte[] buffer = new ubyte[4 * 1024];
代码如下:
// This code is derived from the
// RSA Data Security, Inc. MD5 Message-Digest Algorithm.
...
- 2007-08-07 15:52
- 浏览 1501
- 评论(0)
本来写好的文章,结果因为不接受我的文件格式而失败。
文件格式只能是“jpg,gif,png,bmp格式的图片和zip,rar格式的压缩文件”,
结果我把D语言的程序上传上去,就出现提示:
“
超人,您的请求服务器暂时无法响应,请体谅人类服务器脆弱的心脏吧。
”
返回就发现文章内容没有了。ft
- 2007-08-07 15:35
- 浏览 1376
- 评论(0)
和C函数的格式相同。
只是printf和writef中的 s 意思不一样
不知道C语言中是否有用 * 号来表示宽度和精度。
D语言中,可以用*号来表示。它需要对应个数字,像 %d一样要对应一个数字。
如
("%*d", 5, 1) 相当于 ("%5d", 1) 表示宽度
("%.*d", 5, 1) 相当于 ("%.5d", 1) 表示精度
正好,char[] 表示的是长度和字符串。
和 %*s %.*s 吻合
所以可以用在printf函数中表示D语言的一个char[] 类型
不知道这2种形式 ...
- 2007-08-07 15:29
- 浏览 2359
- 评论(0)
在D语言主页上,老是找不到编译器的安装程序。
后来好不容易一个下载地址,下载后,发现是老版本的1.015
今天总算找到全部的下载地址了。
http://ftp.digitalmars.com/
编译器的安装方法是:
http://digitalmars.com/d/dcompiler.html
重要的几步是:
chmod u+x dmd/bin/{dmd,dumpobj,obj2asm,rdmd}
....
- 2007-08-07 00:09
- 浏览 2180
- 评论(0)