做电商要有网站吗,比百度好用的搜索引擎,做网站的能赚多少钱,网站制作流程的组成部分包括原文 D中是否可用仅C头文件库? 在C语言中,我需要这样做:
#define STB_DS_IMPLEMENTATION
#include stb_ds.h在包含h文件前,必须在单个C文件中定义. 在D中试过:
enum STB_DS_IMPLEMENTATION 1;
import stb_ds;但它不管用.有建议吗?也许使用中间C文件会工作 ,但…原文 D中是否可用仅C头文件库? 在C语言中,我需要这样做:
#define STB_DS_IMPLEMENTATION
#include stb_ds.h在包含h文件前,必须在单个C文件中定义. 在D中试过:
enum STB_DS_IMPLEMENTATION 1;
import stb_ds;但它不管用.有建议吗?也许使用中间C文件会工作 ,但我想知道D是否可完成. 这里自动转换
dmd -c test.c -Hftest.di一般使用仅头方式,建议把扩展文件名更改为.c并直接编译它.
是的,你最好的选择是: 1,把.h重命名为.c并编辑它,以便通过或删除STB_DS_IMPLEMENTATION检查. 2,用你已编写的内容创建一个C文件:
#define STB_DS_IMPLEMENTATION
#include stb_ds.h并导入它.
尚不支持从d文件导入.h文件,因为查找优先级存在争议: 0 1
正在试使用仅头文件的C库.此项目中的h文件,具体为:https://github.com/nothings/stb. 如果没有#define,这不行.只要有impl代码,按只包含一次设计此头库,因此依赖定义变量的C文件来显式启用要包含的impl代码. 根据链接线程,我试从仅有定义和包含的基本C文件生成一个di文件:
#define STB_DS_IMPLEMENTATION
#include stb_ds.h但DMD产生了一个段错误错误: dmd -c import_stb_ds.c -Hfstb_ds.di
[1]73719段错误dmd -c import_stb_ds.c -Hfstb_ds.diLDC同样: ldc2 -c import_stb_ds.c -Hfstb_ds.di我应该报告错误吗?
-H开关有一个错误: 这里 但这不应是必需的,你应该可导入c文件. 这很奇怪,我会看看是否可重现它. 化简为:
enum { A };用-H编译,得到段错误. 相关代码在hdrgen.d中:
foreach (em; *d.members)
{if (!em)continue;buf.writestring(alias );buf.writestring(em.ident.toString);buf.writestring( );buf.writestring(d.ident.toString);buf.writeByte(.);buf.writestring(em.ident.toString);buf.writeByte(;);buf.writenl();
}它假定枚举有个名字,但在本例中,d.ident为null.