摘要: 实验环境: VisualD+Vs2003 ms-coff格式 需要在D语言中调用C++的std::string并不是不可能,是要注意一些问题。在C++中使用string时,很多时候是会使用以下方式: string getStdString(){ … } 和 printStdString(string str); 还有一种是: stri... 阅读全文
posted @ 2016-08-18 08:53 honan 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 注:本实验是在VisualD的ms-coff文件格式下完成的。 做了一天的D语言中extern(C++)的ABI分析,分析结果显示不是所有的C++语法都能在D语言中对应,所以在做对应时需要注意一些问题。分析数据可以找我Q:52019943要。因为有不少,这里不列出来。只给一个主要部分: 其中,C++中的class值类型与class的引用类型,无法在D语言中表示,至少... 阅读全文
posted @ 2016-08-17 17:02 honan 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 注意:本方法只适合于C头文件是自己写的时候,但是如果使用别人的的库的时候,我的这个方法不适合使用,因为一般库使用宏之类型的会影响本方法的作用。 使用VisualD新建一个工程,添加两个文件test.cpp与test.h ,添加好后如图: 需要设置工程属性: test.cpp文件如下: #include "test.h" in... 阅读全文
posted @ 2016-08-17 14:34 honan 阅读(289) 评论(1) 推荐(0) 编辑
摘要: 需要在dub.json中加入一行"dflags-windows-x86-dmd": ["-m32mscoff"], 阅读全文
posted @ 2016-08-16 13:59 honan 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 在D语言的工程中,是可以同时使用C/C++代码文件的。 在VisualD中有一个C/C++编译器命令项。默认使用的是微软的C/C++编译器。 下面来测试下C/C++与D的混合编译。先建立一个Console工程,如下图: 接下来添加一个test_cpp.cpp文件和一个test_c.c文件,注意一定要写上后缀,要不就会变成.d文件 建好后如下图: ... 阅读全文
posted @ 2016-08-16 11:12 honan 阅读(935) 评论(0) 推荐(1) 编辑
摘要: 如果你使用DGUI库,同时又需要使用ms-coff格式的lib文件,那么你需要注意一些事情。 在Visual-D中使用MS-COFF库文件格式需要选中以下两个选项: 使用以下代码,编译时会出错 import std.stdio; import dgui.all; import core.sys.windows.windows; import core.ru... 阅读全文
posted @ 2016-08-16 06:57 honan 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 在D语言中可以使用imageformats库做图片转换. 该库可以从https://github.com/lgvz/imageformats 下载。 下载好后,装文件放入到自己的工程中就可以使用了。 转换函数: read_image_from_mem(imgData, ColFmt.RGBA); 转出来的数据为IFImage结构,以上面指定的格式存储在内存中... 阅读全文
posted @ 2016-08-15 06:35 honan 阅读(152) 评论(0) 推荐(0) 编辑
摘要: VS SDK在线文档 https://msdn.microsoft.com/zh-cn/library/bb161718.aspx 以前VS还提供本地文档,现在都不提供了,只能看在线文档了。 这里有VS调试器扩展入门以及 API 接口 阅读全文
posted @ 2016-08-15 04:59 honan 阅读(270) 评论(0) 推荐(0) 编辑
摘要: UnCompress类对zip解压做了进一步封装,然而这个做得并不完善。使用它来解压数据时会出现不完整的情况。 if(encoding == "gzip") { UnCompress decmp = new UnCompress; scope(exit)delete decmp; ... 阅读全文
posted @ 2016-08-15 03:29 honan 阅读(327) 评论(0) 推荐(0) 编辑
摘要: DGUI总体来说还是很不错,在使用过程中,据需求做了一部分修改。今天用它来做了一个小工具。 很是不错,哈哈…. 缩小一点看看: 对DGUI做了以下修改: 一、给Event做了+=与-=操作符重载 二、做了anchor布局 三、给ListBox添加了removeAll方法 来看看小... 阅读全文
posted @ 2016-08-14 17:25 honan 阅读(351) 评论(0) 推荐(0) 编辑