技术栈
d
fqbqrr
4 个月前
d
2407d,D2024三月会议
原文Martin说,他一直在为LDC开发新的ulong串字面,并想知道是否应该像普通串字面一样以无效结尾.沃尔特问他是什么意思,因为串字面总是秘密地以无效结尾.
fqbqrr
7 个月前
d
2403d,d的com哪里错了
原文感谢任意见解.细节:参考: ComObject类 IUnknown接口我只使用了ComObject类和隐式继承了IUnknown接口,用用ImportC编译并包含以下内容的comheaders.c编写了一些COM测试代码.
fqbqrr
9 个月前
d
2402d,d的变参
原文 似乎我无法传递int参数给Variant函数参数.如何解决? 只需清楚告诉编译器你想要什么即可.
fqbqrr
10 个月前
d
2401d,ddip1027如何支持sql
原文 以下是DIP1036的SQL支持方式: 这里这里: 1.按参数元组后转换istring后,再传递给execi模板. 2.它循环了参数,(讽刺的是!)再转换为格式串.格式不是%s,而是?1,?2,?3等. 3.它跳过DIP1036插入的所有插值参数. 4.把其余参数分别绑定到1,2,3索引. 5.然后它执行sql语句. 注意,不支持嵌套的istring.
fqbqrr
10 个月前
d
2401d,讨论d串滑动参数
原文 因为对编译时执行的i串的兴趣,我一直在考虑搞个通用用例,而不是相关i串的用例.请考虑以下模板:因为s是编译时参数,这编译,而pragma(msg,s) 期望s为编译时值.
fqbqrr
1 年前
d
2312d,D语言单元测试等
原文 我最近决定在"系统编程"领域试些小众语言.我已用了Java,Dart和Kotlin等高级语言编程多年了(并试了许多其他相同级别或更高级的语言),需要扩大视野,因为对某些类型应用,这些语言并不是最好的工具.
fqbqrr
1 年前
c++
·
rust
·
d
2312d,d语言作为胶水,用C++调用rust
原理 源码:编译r.rs(被调用函数)文件:中间的d胶水代码:正常编译main.cpp为main.obj 编译胶水dmd -c g.d为g.obj. 然后用
fqbqrr
1 年前
d
2312d,把alloca注入调用者域
原文 有以下技巧.因为无法推导长度,因此不理想,但这成功地把alloca注入到调用者域中.
fqbqrr
1 年前
c++
·
rust
·
d
2312d,d语言来绑定C++和rust
原文1,按可重用函数拆分代码. 2,由源码中的函数名生成的串来标识函数.如,g++为void foo()生成_Z3foov的标识.此串总是是可重现的;如,Linux上的Clang和GCC都遵循ItaniumC++ABI约定来装饰函数名.
fqbqrr
1 年前
d
2311ddip1000不能从函数返回域引用
原文 以下程序无法用-preview=dip1000编译:getSlice应该可返回可安全地赋值给'a[]'的引用.
fqbqrr
1 年前
ios
·
游戏引擎
·
d
2311d游戏引擎适配ios
原文 通过遵循arsd:simpledisplay(v11.0.0之前)上的一些旧代码,Apple的文档和Jacob的这一惊人贡献桥, 我已从金属绑定中删除了所有extern(Objective-C)代码,现在,所有Objective-C桥接代码都是使用D的反射生成的. 因此,给定此例代码:
fqbqrr
1 年前
d
2311d更好C析构类
原文 我在betterC模式下自定义了object.d并创建了新(NEW)模板,使用模块,似乎可在没有extern(C++)模式时创建类,且调用函数中的转换类型似乎工作正常. 但是当析构时没有找到调用相应子类的__xtdor()方法,是否可正确执行__xtdor()?
fqbqrr
1 年前
c++
·
d
2311dC++连接与串
原文 extern(C++)函数使用在装饰名中包括参数类型的C++装饰名.但是,因为C++没有像D的T[]内置切片类型,因此C++没有有效的D切片装饰. 因此,无法编译以D切片为参数的extern(C++)函数. 为此,可按结构转换切片:
fqbqrr
1 年前
d
2311d与stl互操作与重写dfmt
原文 大家好, 测试并修复了一些已存在的std串. 不必再次使用basic_string!char显式实例化,因为现在可用std_string.目前还禁止使用"std_string",因为现在从druntime发出符号,而我们并不想这样. 现在已从druntime中移出STL互操作,可自由使用它了.
fqbqrr
1 年前
d
2310D导入c部分可用
看看简单的示例(该示例不使用.di文件): 这里 克隆它并放文件在方便的地方. 现在,试使用它. 在此例中,map.c和app.d在同一目录中.
fqbqrr
1 年前
d
2310D从导入c转换C至D
Bruce,Adam和我在西雅图的RedRobin见面,聊了聊D,他们都提出了D编译器可转换C文件为.di"头"文件. 想法是: 1.可使用只能处理D代码的DIDE程序 2.可处理大量转换.h为D代码,然后手动调整翻译不好的部分. 但某些C代码不能表示为D代码.我太笨了. 但我开始考虑该问题.表明,DMD目前可完成:
fqbqrr
1 年前
d
2310d编译不过
应该给data参数加上return scope.或让构造器为模板参数来推导,否则,构造器可以把栈分配切片赋值给全局变量.
fqbqrr
1 年前
d
2310d模板替换运行时
原文 上周,我开始从我之前的PR中的_d_newarray{i,}T实现开始,把_d_newarraym{i,}T转换为模板.目前,我已实现了新勾挂并更新了降级,但在编译器中遇见了一些测试失败.
fqbqrr
1 年前
d
2309亚当arsd的11.1版本
原文在11.0中略有修改Minigui的主题,但它落后于11.1的计划.这是个重大更改,但这些更改很小. 新主题稍微变浅了默认组件的背景色和默认字体,这两者都主要影响Linux,因为窗口上的大多数组件一般使用本地主题.
fqbqrr
1 年前
d
2309d的几个问题
要从函数类型取函数指针类型,可在末尾添加*:下个:错误:"splitter!((a,b)=>a.splitter(b).array)'模板实例与模板声明不匹配