![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
D语言
文章平均质量分 92
iteye_20408
这个作者很懒,什么都没留下…
展开
-
编译WxD0.16
wx我在Python环境下用了,还算好用吧,因为是DLL的动态库形式,所以,发布文件不大,压缩后在10M以内。 wxD,以前曾经编译过,修改若干文件Make文件后正常编译。因为发布了0。16,应圈网友要求,再次编译。 1。准备工作。 下载DMC,最新版本即可。http://www.digitalmars.com/download/freecompiler...2011-09-27 18:09:04 · 131 阅读 · 0 评论 -
ANSI和Unicode练习
每个使用C或者C++直到D的人都要认识到的Unicode问题:如果你的程序要在更广的国度使用,或者要进入Internet,你都要使用Unicode!先列个提纲,细节解释待续!1.编码 ansi,mbcs/dbcs,unicode,ucs22.类型 ansi char ,utf8 char,wchar,dchar3.类型的指针和内存复制4.windows的知识 windwos9...2007-09-01 12:07:21 · 109 阅读 · 0 评论 -
DFL Printting!
将打印的代码从DWT,添加到DFL中,从而让DFL拥有打印的功能.http://wiki.dprogramming.com/Dfl/PrinttingDWT的打印写的一般,我添加的就更一般, 以后继续封装,先提供一个可以使用的版本.1.PrintDocument 封装了打印机和打印文档,提供打印事件,供打印调用.2.PrintDialog 打印对话框3.PrintSetting 打印机设置4.Pr...2007-08-28 17:14:00 · 118 阅读 · 0 评论 -
DFL 2.027,1.041,2,3编译
注:DFL已经更新,http://www.dprogramming.com/dfl/snapshots/dfl-20090411.zip 感谢Chris! 整理下DFL 0.9.8 ,支持D2.027和D1.042 DFL0.98也支持D2了.但仅仅支持到D2.020,2.021加入了druntime,没有继续支持. 看看D2的新特性,也想试试...2009-04-07 17:59:46 · 124 阅读 · 0 评论 -
D2.0的字符串
D2.0的字符串增加了常量,不变量和变量.在很大程度上增加了语意的清晰度.但给编程带来了更小的粒度.如同使用动态脚本语言,你不必关系类型,使用静态语言你就要严格定义.D2就更严格了:对字符串也进行严格的定义. 1.变量 D1.0的字符串都是变量.也就是mutable的.D2中仅仅char[] 是变量,可以运用下标进行访问每个char的变量. 2.不变量是invariant的.也就是不变的....2009-04-07 08:28:28 · 146 阅读 · 0 评论 -
C/C++/D联合
联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出!1、什么是联合? “联合”是一种特殊的类,也是一种构造类型的数据结构。 在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装...2008-07-02 14:48:27 · 678 阅读 · 0 评论 -
D语言编译器DMD开源了!
自从1999年12月,Walter设计开发D语言以来,D语言的编译器DMD因为不开源,成了业界的诟病。Walter曾经承诺,将开放源代码。 伟大的Walter Bright在今天2009年3月5日下午18点40分(中国时间) 释放出了D1和D2的前端和后端的源代码!!开源协议为GPL1.0或者Artistic license。后端协议看了看,有Digital Mars和SYMANTEC的...2009-03-05 19:56:37 · 480 阅读 · 0 评论 -
D语言现状From2007
I'm sure this was brought up in the past, but DMD definitely needs stable and unstable branches.-v1 doesn't cut it. My code is compiled with -v1 and still breaks with new DMD versions.Each new DMD v...原创 2009-03-02 15:32:23 · 104 阅读 · 0 评论 -
D语言GUI库简单比较
通过对一些D语言可以使用的GUI进行比较,对初学者有个借鉴吧。 评分标准DFLDWTHarmoniaMinWinwxDGtkDQtDFTLKBinding2,122211111平台支持个数12123313...2009-02-20 15:25:02 · 1161 阅读 · 0 评论 -
D语言脚本引擎简单比较
经过长期的测试,使用,扩展代码编写,比较了D中可以使用的几种脚本语言。 MiniD: 协议 宽松,自由,商用免费。语法 简单,类似D效率 较高 素数例子:69ms (用的是MiniD 0.06,Phobos,2.0bate没有测试)稳定性 一般,没有连续升级,结局已经和MiniD1.0一样。扩展性 高Unicode支持:支持基本库:仅Tango,Tango太不稳定。文档,例子...2009-02-19 14:38:22 · 266 阅读 · 0 评论 -
D语言编译器开始支持Mac OSX
D语言编译器开始支持Mac OSX。 D语言历经10年的发展,从WalterBright一个人的奋斗,到一个社区的奋斗,目前已经支持Windows,Linux,Mac OSX主流操作系统了! D 语言既有 C 语言的强大威力,又有 Python 和 Ruby 的开发效率。它是一种集垃圾回收、C 语言内存模型、契约式设计、强力范型、内嵌汇编、内置单元测试、Mixin、类 Java 包管理机制...2009-02-15 18:25:58 · 185 阅读 · 0 评论 -
实用的DFL注册表
应用中要用到注册表.DFL里面有. 参照了文档,写了一个操作函数. void setRegValue(char[] regkey,char[] sec,char[] val){ RegistryKey drk = Registry.localMachine().openSubKey(regkey,true); if(drk is null) drk = Reg...2009-05-27 09:09:10 · 105 阅读 · 0 评论 -
Python嵌入D
所有的嵌入都研究了一个遍。发现嵌入Python挺好,试试。 用D写Python的扩展,已经有了pyD,非常好用,效率也很高,http://pyd.dsource.org 将Python嵌入D,只能使用Raw的C-API了。这里用到了pyD中的Python接口文件 python.d和python25_digitalmars.lib,并且在本机安装了Python2.5 ...2009-06-12 11:37:35 · 196 阅读 · 0 评论 -
D语言的IOCP(完成端口)例子
在WindowsNT平台上,最具有伸缩性和吞吐量的网络服务器程序都使用了完成端口。为了在D中使用完成端口,我写了这个简单的例子。希望大家指正!在DMD1.020-1.022,WindowsXP,编译测试通过。没有使用std.socket,因为std里面的socket实现不能使用重叠IO。D 代码 // D Program Language IOCP // wr...2007-10-20 20:43:52 · 186 阅读 · 0 评论 -
简单看了下DGui
很久没有写代码了。。。。 怀念往日不如今天行动。生疏了。。。 下载了个Dgui,最新的版本,For D2.055,编译了半天,和Dfl相比,还有一段路要走。 Dgui,不支持Win9x,D1。也没有打印相关的类。 编译中缺乏几个链接函数,在gdi32中。我生成了一个符号库(已经上传附件),修改了编译的脚本参数,编译成功。 看了所有的例子,事件用的比较方便。生...2011-09-26 10:39:34 · 456 阅读 · 0 评论 -
控制台得到密码不回显
看到坛子有人问“在D或C下如何实现输入单个字符不回显?可能的应用比如实现一个密码验证程序”,找到了解决方案,记录下。 Python版本的容易的多,直接用getpass模块的getpass函数就OK。 import getpasssl = getpass.getpass("Please Input Pass:")print sl D语言版本:百度...2009-09-18 22:37:42 · 168 阅读 · 0 评论 -
D资源文件调用
终于成功了。 资源文件太可爱,竟然可以如此。按名称进行调用。 调用VC创建的。auto res = FindResourceA(mapp,MAKEINTRESOURCE(name), MAKEINTRESOURCE(23)); 而D创建的呢,就可以auto res = FindResourceA(mapp, toStringz(name), toStringz(e...2009-08-09 01:36:05 · 190 阅读 · 0 评论 -
D语言打印forDFL
感谢Chris发布了DFL :idea: ,使用后发现没有打印功能,遗憾之后,不敢奢望,只好自己干。而在第一个版本的DFL Printting后,终于有时间,完成了第二个版本。每天匆匆编程,完成了不敢自专,抽空写出文档,功能太少,目标也太小 :D ,欢迎大家指正。本次版本,主要亮点:1.把所以的代码集中到一个文件,包含测试,直接可以运行,0配置! :idea: 2.提供了打印...2008-12-09 20:35:51 · 94 阅读 · 0 评论 -
关于加密解密备忘
在数据传输中,同一定遇到Unicode一样,你一定会遇到加密问题.下面说说我的理解.一.对称算法,非对称算法.有加密就有解密,解密和解密都要用到一个或多个密码,俗称密钥.密钥一致的就是对称算法,而不一致的就是非对称算法.非对称如同你在一个门上放了两把锁一样,钥匙不同,也可以解锁.对称,就是一把钥匙开一把锁(当然例子也不太准确).二.常用的对称算法3DES,TEA等都...2008-12-09 18:41:24 · 98 阅读 · 0 评论 -
支持中文录入的harmonia
harmonia界面很方便,发现不能录入中文.Patch一下. 还想继续完善.代码稍后. Harmonia是开源的D版本的Htmlayout2010-08-16 22:40:38 · 138 阅读 · 0 评论 -
追求完美的人如何享用D语言
追求完美的人如何享用D语言我使用D语言已经快2年了,虽然仅仅开发了一个小的软件,但我发现我心中的一个最大问题:原来我不信任D语言. D语言为什么不被我信任呢?没有完善的库?本身有很多BUG?没有稳定的版本?文档书籍不完善?但我还是喜欢用D语言,她能编写优美的代码,D语言提高了我的效率,像C#一样的简洁语法,确是编译执行;D语言也给了我足够的自由:访问底层,甚至汇编到寄存器;D语言还...2008-10-12 08:03:11 · 190 阅读 · 0 评论 -
The Case for D中英文版PDF下载
The Case for D在网站上浏览不方便的,有了PDF:英文原版http://ideage.iteye.com/topics/download/949b97e6-c4a9-3f1b-9e24-6a10be8cd6d7 中文版(1-5,待续)http://ideage.iteye.com/topics/download/cb464542-1a8b-3a2e-9ce3-d...2009-06-19 10:27:59 · 132 阅读 · 0 评论 -
D语言真相 The Case for D(1-5)
D语言真相Andrei Alexandrescu 著 ideage,Colorful 译 译的不好,请大家指正!06月18日 00:3806月19日 23:45 让我们看看为什么D语言是值得认真研究的. 当然,我不能哄骗自己说服你很容易. 我们程序员是一群以奇怪的方式来组成和维持语言偏好的. 程序员下意识的反应是在书店看到某某编程语言的书籍后想:好了,...2009-06-17 09:52:06 · 390 阅读 · 0 评论 -
The Case for D
The Case for DAndrei Alexandrescu D could be best described as a high-level systems programming language Andrei Alexandrescu is the author of Modern C++ Design and The D Programming Lang...原创 2009-06-16 22:50:55 · 1429 阅读 · 0 评论 -
触发DFL中的ComboBox控件的键盘事件
class ComboxKeyDownFilter:IMessageFilter { HWND m_EditHwnd; this(ComboBox cbox){ m_EditHwnd=FindWindowExA(cbox.handle,null,"Edit",null); } bool preFilterMessage(inout Mess...2009-02-06 12:04:34 · 182 阅读 · 0 评论 -
DFL分析(四)伟大的结构
每个程序都有很多的代码编织而成.为了获得最大的兼容性,你要从容面对每个系统.在这个问题上,DFL做的是最好的.今天,来学习下DFL的底层代码结构. 这些代码都在DFL的internal目录下.当写了很多代码的时候,你会发现,你的类,函数该如何组织变成了一个非常重要的事情.D语言提供的模块和versin编译,很大程度上减少了你的麻烦.但太容易定义的模块,还有模块内的可见性,你可能无法更好的决定如何...2008-12-25 00:08:45 · 603 阅读 · 0 评论 -
文件的格式和BOM
最近,用D写了些文件操作的代码.发现,只能用UltraEdit编辑的文件,才能在std.file中正常使用.如果使用记事本,编辑下,就立刻无法打开了.而这两者有什么不同呢? 并且,前几天,保存一共文件的时候,发现std.file总要在文件的开头加入写不能识别的字符. 这两件事情一联系,感觉到在std.file后隐藏的东西还有很多. 分析了一下文件的二进制格式,发现了问题:...2008-12-22 19:45:14 · 134 阅读 · 0 评论 -
高级D语言功能特性-Walter 在微软做的报告
Walter于一月十七日在微软做了关于D语言的报告内容提要:[quote]This talk assumes you're bored with the usual macguffins - expressions, statements, and core strings vs library strings. We'll skip right to the naughty bits...2007-02-23 11:23:29 · 155 阅读 · 0 评论 -
D 1.0发布了!
期待已久的D1.0终于发布了! 感谢Walter给我们提供了这么好的工具![quote]What's New for D 1.00 Jan 2, 2007 New/Changed Features-v flag now outputs imports added std.c.linux.pthread Bugs FixedFixed Bugzilla 552: In...2007-01-05 10:54:50 · 130 阅读 · 0 评论 -
追求卓越的Stewart
Stewart 发表了一封Walter坏习惯的信.看了让人感动.Walter为我们所尊重.Stewart追求卓越的精神鼓舞人心.无论是设计思想,还有错误处理,语法拼写,都在精益求精.我辈当学而思之.Stewart的D资源主页[url]http://pr.stewartsplace.org.uk/d/[/url][quote]It's time to make a l...2006-12-16 11:25:27 · 138 阅读 · 0 评论 -
D语言2007峰会 1.0 World Tour
Walter Bright said:[quote]Brad Roberts and I have been discussing putting on the first D conference. We'd at last all get to meet each other! This announcement is to gauge the level of interes...2006-11-17 15:55:53 · 130 阅读 · 0 评论 -
DDBI D语言数据库接口
D的数据库 接口 DDBI所有的程序都可能访问数据库。为了让D兼容其他语言开发的数据库接口,并为开发者提供统一的访问形式,DDBI应运而生。DDBI 包含几个核心的 类,包装了数据库的基本操作。Row 包含了多个列的一个行。允许使用索引和列名访问行的数据。Database 提供了一个抽象的数据库封装,包含了连接,执行Sql语句,返回行的函数。Result 管理一个从数据...2006-11-16 11:42:18 · 202 阅读 · 0 评论 -
MiniD简介
MiniD是作者参考了Lua(著名的嵌入语言),ECMAScript,的优点,语法类似于D,功能基本和Lua相仿。根据Lua的成功,我相信MiniD也会被广泛使用。嵌入行语言主要和宿主语言互操作。为了实现机制和策略的分离,宿主语言实现主要机制,而不容易变化的部分,分离到脚本语言中,并进行嵌入。Lua成功源于一些著名的游戏,如魔兽世界、博德之门。用嵌入语言实现配置,功能扩展,大大提高了程序的...2006-11-15 21:22:21 · 775 阅读 · 0 评论 -
DFL框架分析(一)
1.框架的意义,一个简单windows程序的要素: 封装了windows窗口,控件,简化windows开发.声明winProc回调函数;定义窗口属性,绑定回调函数,注册窗口类;创建windows窗口;进入消息处理循环,直到结束.一个简单的win32程序,D的例子:winsamp[code]// Compile with: dmd winsamp gdi32.lib wins...2006-10-22 12:38:45 · 537 阅读 · 0 评论 -
DMD170,DMD171,DMD172发布
Walter 发布了DMD0.170,171,172,修正了几乎所有可知的BUG(剩下的真的不多了),1.0指日可待了.添加了新的特性:foreach_reverse 可以倒序遍历任何数组.委托也可以使用foreach,但是必须和opApply一致. int opApply(int delegate(inout Type [, ...]) dg); final 成...2006-10-18 17:52:32 · 85 阅读 · 0 评论 -
让D访问其他应用程序
要使用D,就要和其他应用配合。D和C是二进制兼容的。可以转换C的头文件为D的文件,然后访问C的库,或者兼容C的库。步骤:1.转换C的头文件。具体办法[url]http://www.digitalmars.com/d/htomodule.html[/url],也可以使用HTOD工具 [url]http://www.digitalmars.com/d/htod.html[/url],下...2006-10-10 00:34:58 · 237 阅读 · 0 评论 -
D语言的中文文档
感谢前辈们对D的贡献!收集了D语言中文文档地址,供大家参考。uframer(焦冶)的专栏 [url]http://blog.csdn.net/uframer[/url]Gemini Blog(隆轩Blog) [url]http://blog.donews.com/haogemini/category/121597.aspx[/url]ShowLong的编程专栏[url]h...2006-10-09 23:49:04 · 389 阅读 · 0 评论 -
编译期或运行期程序收集(meta programming)
1. Phobos: std.demangle 得到编译后的名称字符.std.metastrings 编译期操作字符串.std.traits 编译期类型识别.2.运行时反射:[url]http://flectioned.kuehne.cn/[/url],有例子,支持最新的DMD1.007.用-g进行编译,可以动态创建对象.3.字符串混入:混入创建对象:[...2007-02-23 11:49:55 · 81 阅读 · 0 评论 -
GDC0.23发布,支持64位!!!
DMD1.007 仅仅支持32位linux,windows.GDC now supports 64-bit targets! A new x86_64 Linux binary isavailable and the MacOS X binary supports x86_64 and ppc64.[url]http://sourceforge.net/project/show...2007-03-06 16:28:19 · 222 阅读 · 1 评论 -
DFL框架分析(二) 事件订阅
DFL中的事件订阅(module dfl.event,dfl.control)一.EventArgs类: 事件参数祖先,传递事件的参数组合,可以进行继承实现更多的参数.二.Event 模版1.接受两个模版参数,2.重载了操作符:opCatAssign ~ 增加.opCall 调用opApply foreach调用三.例子-------------...2007-03-07 01:22:02 · 133 阅读 · 0 评论