首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
2312d专题
2312d,d的10月会议
原文 拉兹万 Razvan从他最近在内联中遇见的一个问题开始,他不知道如何解决.一般,当A模块导入B模块并从B调用函数时,如果B的目标文件没有传递给链接器,则最终会出现链接器错误. 如,在命令行上使用A.d编译并省略B.d时.但是,当内联调用函数时,则不会触发链接器错误.他怀疑这是一个优化. 他发现该行为,破坏了使用内联标志的BetterC构建.他解释说,内联在语义3后运行,但因为B不是根
阅读更多...
2312d,d的sql构建器
原文 项目 该项目在我工作项目中广泛使用,它允许自动处理联接方式动态构建SQL语句. 还会自动直接按表示数据库行结构序化.它在dconf2022在线演讲中介绍了:建模一切. 刚刚添加了对sqlite的支持.该API还不稳定,但仍非常有用.这是按需构建,所以虽然有个计划外表,但满足了我的需要. 示例(使用sqlite): import d2sqlite3;import std.stdio;
阅读更多...
2312d,原始写
原文 我正在重建一些从C++到D的代码: import std.stdio;import std.file;import std.string;import std.math;struct WavHeader {char[4] riff;int flength;char[4] wave;char[4] fmt;int chunk_size;short format_tag;short n
阅读更多...
2312d,d语言作为胶水,用C++调用rust
原理 源码: //主.cppvoid foo();int 主(){foo();中 0;} 编译r.rs(被调用函数)文件: //r.rs编译命令.rustc --target i686-pc-windows-msvc r.rs --crate-type staticlib //r.rs文件内容,生成r.lib(11.2M)有点大.//用要staticlib.否则不行.//如果
阅读更多...
2312d,d语言调用C++的类
域用法 import core.stdc.stdio;import example1;extern(C):void main(){scope Foo1 f=new Foo1();//D语言在`betterC`下//可以类似C++栈上构造并析构!f.foo();f.bar(42);}/*输出:|| Foo1::Foo1()|| Foo1::foo()|| Foo1::bar(42)
阅读更多...
2312d,d语言作为胶水,用C++调用rust
原理 源码: //主.cppvoid foo();int 主(){foo();中 0;} 编译r.rs(被调用函数)文件: //r.rs编译命令.rustc --target i686-pc-windows-msvc r.rs --crate-type staticlib //r.rs文件内容,生成r.lib(11.2M)有点大.//用要staticlib.否则不行.//如果
阅读更多...
2312d,d亚当小图界的思考
原文 关于minigui的随机想法 许多arsd库更多的是关于机制,而不是策略.我给你一堆积木和工具,但由你自己选择如何组合在一起.这很灵活,可让你决定要使用哪些库和哪些其他库,但也更难使用和记录; 没有直接的"只需要用它和它". arsd.minigui现在主要是类的集合.你有一堆可用的部件,它们即将达到良好工作的地步.但是没有太多关于把它们放在一起的教程. 当你制作自己的组件时,可覆盖随
阅读更多...
2312d,d语言来绑定C++和rust
原文 各编译语言相同概念 1,按可重用函数拆分代码. 2,由源码中的函数名生成的串来标识函数.如,g++为void foo()生成_Z3foov的标识.此串总是是可重现的;如,Linux上的Clang和GCC都遵循ItaniumC++ABI约定来装饰函数名. 3,在内存中的特定位置存储该函数的所有参数,然后用调用或等效指令把控制权移动到函数来调用函数. 如,要调用前面的void foo(),
阅读更多...