知识若不分享 实在没有意义 http://www.d-programming-language-china.org 20070702
点击下面网址查看原文:
http://www.d-programming-language-china.org
windows api项目是一个转换MinGW的windows 头文件到D的项目,D的标准库所带的std.c.windows.windows内容极其贫乏,所以对于windows下D语言开发,这个项目必须加以关注。
windows api库的下载
http://www.prowiki.org/wiki4d/wiki.cgi?WindowsAPI
下载后解压到\dmd\src\other\win32目录下
windows api库的编译
DMD版本:1.018
用dsss编译,dsss.conf文件内容如下:
[win32]
type=library
buildflags=-version=WindowsNTonly -version=Windows2000 -version=Unicode -version=Win32_Winsock2 -g -O -debug -inline -w
target=win32
编译提示vfw.d大量错误,把vfw.d排除掉。
再次编译,提示:module win32.iprtrmib is in multiple package, 把iprtrmib1.d排除掉。
再排除winsock.d,testall.d。
d3d9.d有大量编译错误,排除d3d9.d,d3d9types.d,d3d9caps.d
errorrep.d,reason.d,secext.d,lmmsg.d只适用于windows xp及以后的版本,编译静态库时先排除。
上面编译得到近4MB的Swin32.lib。( 本文出处: http://www.d-programming-language-china.org )
另外,d-programming-language-china.org用的是DSSS 0.67版本,发现DSSS的exclude开关根本不能用,不然在编译时可以用exclude=testall.d来排除指定文件了。
由于win32库有较多的条件编译,要编译一个通用的静态库是不太可能的,因此也可以不用静态库,实际写程序时用bud等工具来编译。
windows api库使用的问题
在写windows 相关程序时,最头疼的是不知道identifier定义在哪个头文件里,也就是要导入哪个文件。因为D语言没有强大的IDE支持,这就要靠我们自己写程序来实现了。为此d-programming-language-china.org写了一个程序,在用Scite写D语言程序时,把光标放于identifier,按快捷键就自动搜索指定目录,如果是导入模块,就打开导入模块对应的文件,如果是函数,变量,常量identifier,就打开搜索到的文件,并定位到指定行。
请关注D语言论坛 http://www.d-programming-language-china.org
( lastupdate:20070703 最新文章请访问http://www.d-programming-language-china.org )关于一大步成功社区:
yidabu提倡在交流中学习,在分享中提高
收集感兴趣的知识,写下心得,通过网络与别人一起分享
理解一点就实践一步,收获什么就分享什么,成功就是这样一点点一步步累积起来的
网络只是一个工具,只有自己身心提高才是实实在在的。d-programming-language-china.org为大家提供一个学习交流各种知识的平台