D语言游戏编程(1):工作环境

前言

作为一个游戏程序员,D语言对我是很有吸引力的!我相信有不少的人和我有同感。我热爱编程,但是我不能说我热爱C++。坦白的讲,如果是我一个人独立编程,我很乐意使用C++,它的好处就不必多说了,但是在一个稍微大一点的团队中,我一直希望找到一种 “更高级”的语言。这些年一直被C++折磨着,即便团队中有一个新人,有少许几行代码,就足够让整个团队调试一整天。最近的一次,有位兄弟写了如下代码:

       在一个类中有这个成员变量:DWORD m_array[10];

for(int i=0; i<sizeof(m_array); i++)

       m_array[i] = 0;

错误是明显的,但是它并不会立即造成非法操作,它只是破坏了其它成员变量的内容。。。要知道,在一个20万行的程序中找到这个错误并不是那么容易啊。

       C#很不错,而且MS推它的力度很大,现在又有XNA,浮点运算效率一直被大家质疑,不知道现在改进了多少?还有一个不爽的事就是――需要带个百十来Mruntime lib

       D语言的发展很值得关注,在TIOBE的调查(http://www.tiobe.com/?tiobe_index )中已经排到14位,而且上升速度紧跟Ruby之后,十分抢眼。对于游戏程序员,尤其适合。:)当然,D还在发展中,但是它值得关注。  D语言在经历了一百七十多个版本,五年的开发之后,终于推出了1.0版!现在是时候实践一下了。:)

为什么D语言如此令人激动,请看这篇文章:
英文原文:http://www.digitalmars.com/d/overview.html
中文翻译:http://blog.csdn.net/uframer/archive/2005/02/03/279661.aspx
我在这里就不赘述了。      

 

准备工作环境

       最基本的compilerlinker可以从Digital Mars官方网站下载:http://www.digitalmars.com/d/dcompiler.html。注意,要下载两个包dmd.zipcompilerdmc.ziplinker。压缩包中还带了MS Windbg程序可以用来调试。为了方便调用,后需要把“dmd/bin/”添加到系统的PATH环境变量中。

       在“dmd/samples/d”有几个例子,可以先看看,对D有一个初步的印象。“dmd/html/d”有一些文档,应该好好看看。:)

       编辑工具现在后很多,简单起见,我现在使用Ultra Edit,关于如何配置UE,请参考:http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport/UltraEdit

 

实战Hello World

1、  创建一个新的文本文件,输入以下代码:
void main()
{
printf("Hello D!");
}

2、  键入命令行:dmd hello.d –g,此命令会生成hello.exe,其中-g参数是为了生成调试用的符号表;

3、  键入命令行:windbg hello.exe,可以启动windbg调试窗口,在windbgCommand窗口中键入“g _Dmain”,即可开始调试;

这几行代码是不是和C语言一下啊?!这是因为D和C在二进制上是兼容的,而且D引入了C Runtime lib,所以可以调用CRT的printf。下面这几行是调用D的标准库(Phobos)的代码:

    import std.stdio;

void main()
{
    writefln("Hello D!");
}

OK,基本的编辑、连接、调试就是这样了!下次将尝试创建一个Win32窗口,并初始化会OpenGL

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章