摘要: 开发工程 https://github.com/fancycode/MemoryModule 原理介绍 http://blog.csdn.net/xrain_zh/article/details/44728321 使用 Api 从内存加载DLL http://bbs.pediy.com/showthread.php?t=141006 阅读全文
posted @ 2016-08-12 18:23 honan 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 我把excode库源码放到我的工程中来后,每次编译时间都需要12s,非常糟糕。只是修改工程中的任意一个文件一行,编译也得要12s。不可思议。 只好把excode单独编译,不和我自己的工程放在一起。 ok了,一切正常。 这和D语言编译器有关系,只要工程中的一个文件代码修改,所有文件都会进行编译。 阅读全文
posted @ 2016-08-12 16:25 honan 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 在Dmd2.067以上的版本中,可以使用ms-conff格式的库文件。visual-d在默认模式下不是使用的ms-coff文件格式,需要在工程的选项中进行配置: 以上两个选项都需要选上,我测试过只选第三个的时候,会有问题。 阅读全文
posted @ 2016-08-10 23:38 honan 阅读(246) 评论(0) 推荐(0) 编辑
摘要: D语言标准库中已经有比较好的日志文件实现,默认是把日志输出到标准输入输出,如果需要输入到文件,设置如下: stdThreadLocalLog = new FileLogger("log.txt"); 在执行上面语句后, 使用error,log等函数,都会将日志输出到log.txt文件中。 阅读全文
posted @ 2016-08-07 04:07 honan 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 参考https://dlang.org/phobos/std_algorithm.html 在std.algorithm中提供了大量操作Range的函数。一共分为六大类。 一、Searching 搜索 1) all 判断函数,是否集合中所有元素是否都符合条件 auto arr = [1, 3, 5, 7, 9]; auto ret1 = arr.all!(f=> f !=... 阅读全文
posted @ 2016-08-07 02:21 honan 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 基本的Range使用的接口函数有 front, popFront, empty三个函数,只要实现这三个函数,就是一个Range 。使用这三个函数来访问元素时代表着这是一个有序的集合,因此可以称Range为序列集,这是一个队列式的操作。 而C#中的IEnumreable只要求能访问元素,并无有序要求,这与C#中的opApply接口相同。 在D语言中有两种迭代方式,... 阅读全文
posted @ 2016-08-06 23:08 honan 阅读(286) 评论(0) 推荐(0) 编辑
摘要: D语言中对Curl库有两个包, 一个是etc.c.curl,一个是std.net.curl,其中etc.c.curl是原始的libcurl库的c语言接口转化为D语言的接口,使用这个包里的函数,可以更原始的方法使用libcurl库。而std.net.curl包则是在etc.c.curl基础上对libcurl库的调用做了一个封装,让使用者使用起来更加方便。使用etc.c.curl与c语言里... 阅读全文
posted @ 2016-08-06 20:32 honan 阅读(242) 评论(0) 推荐(0) 编辑
摘要: Windows中COM组件是Windows中重要组成部分,可以注册成系统公共组件,也可以不注册直接调用。在D语言中调用COM组件前,我们需要了解COM组件。COM组件都有一个公共的接口,使用IDL语言编写,使用mild.exe编译器编译后生成tlb格式文件,通常叫做类型库,在生成COM组件的DLL时,会把这个文件放在DLL的资源文件中,资源名称叫做TYPELIB 要... 阅读全文
posted @ 2016-08-06 05:31 honan 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 静态语言能不能使用反射呢? 在D语言这里可以肯定地告诉你,绝对是可以的。先来看几个程序: 一、反射当然程序中使用到的模块与类型 ModuleInfo* m1; int i1=0; foreach (m; ModuleInfo) { m1 = m; writeln(++i1... 阅读全文
posted @ 2016-08-04 05:00 honan 阅读(464) 评论(0) 推荐(0) 编辑
摘要: D语言中的基本类型函数都放于 traits.d 文件中,该文件每一句就提示: Templates which extract information about types and symbols at compile time 在编译时提取有关类型和符号的信息的模板。 也就是说,这里放的模板及模板函数,都是可以用于在编译时提取类型和符号信息的。 这一部分的函数是可用来进行编译时编程的。D... 阅读全文
posted @ 2016-08-04 03:48 honan 阅读(519) 评论(0) 推荐(0) 编辑