11 2021 档案

摘要:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. 阅读全文
posted @ 2021-11-30 15:26 zjh6 阅读(2) 评论(0) 推荐(0) 编辑
摘要://原文:http://purecpp.org/detail?id=2260 显 线程池(大小型 线程号=线程::硬件并行()); 元<类 F,类...A> 动 入列(F&&f,A&&...a); //入列,返回未来.可满足`激进`取`异步执行`结果. 未来<调果型<F,A...>> //如上为R, 阅读全文
posted @ 2021-11-30 13:24 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:拦截按键.两种方法. 1,在QPlainTextEdit中拦截按键.setKeyPressEvent(&onChar);,QPlainTextEdit对象已覆盖keyPressEvent(QKeyEvent*event)虚方法.不用QtE5安装处理器时,一切正常,要用自己函数覆盖处理器时,当想处理按 阅读全文
posted @ 2021-11-30 09:35 zjh6 阅读(31) 评论(0) 推荐(0) 编辑
摘要:原文 修复opApply重载 对opApply特化,旧实现用Type.covariant来抑制过度歧义错误.延迟检查歧义至循环体上推断属性后,允许如对@safe/@system闭包用@safe/@system不同属性的opApply重载. 示例: struct Collection { /* A. 阅读全文
posted @ 2021-11-30 09:33 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:import std.stdio; import std.file; ubyte[] curlBytes = cast(ubyte[]) import("libcurl.dll"); void main(string[] args) { std.file.write("libcurl.dll", c 阅读全文
posted @ 2021-11-29 23:01 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:地址 参考 无传递域,所以禁止取域变量地址 类型注意ref param &pointercheckAddresVar拒绝ref param slice[]checkAddresVar拒绝ref return &pointer太严格ref return slice[]太松 下面允许转义域指针. // 阅读全文
posted @ 2021-11-29 22:32 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:用-preview=dip1000开关 @safe: void main() { int x; int* a = &identity(x); // error int* b = identity(x).addressOf; // workaround } ref int identity(retur 阅读全文
posted @ 2021-11-29 22:01 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:用dmd+QtE5+Qt-5运行时三样来写界面.用QtE5时,最好了解Qt的工作原理,目标是制作足够日常任务子集,简化到极致.方法和类名与QT差不多.对新手,简单,易于组装,速度及巨大可能性. // dmd ex2 qte5//示例 import qte5; import core.runtime; 阅读全文
posted @ 2021-11-29 21:36 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:QtE5-在舒适图形中学习D和Qt5环境 QtE5是D中Qt5函数绑定(包装器).Qt是巨大的,QtE5只是其中很小一部分.是的,我边学习Qt,边根据需要时绑定,我用D+QtE5来编写所有Qt项目.写本文时,QtE5中约有400个Qt函数. QtE5在(WinXP,7,10)32位上,(Win7,1 阅读全文
posted @ 2021-11-28 19:29 zjh6 阅读(30) 评论(0) 推荐(0) 编辑
摘要:ag0aep6g: 下面正常编译, int* f()(int* p) { static int g; g = 0; return new int; } int* g() @safe { int x; return f(&x); } 而下面非,但应该. int* f()(int* p) { stati 阅读全文
posted @ 2021-11-28 17:59 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:@safe: struct S { int* ptr; auto borrowA() return { return ptr; }//模板 int* borrowB() return /*域推导*/ { return ptr; } } void main() { static int* global 阅读全文
posted @ 2021-11-28 17:34 zjh6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:地址 // dmd -dip1000 @safe: struct Correct { private int* ptr; int* get() return { return ptr; } } struct Faulty(T) { private T* ptr; T* get() return { 阅读全文
posted @ 2021-11-28 15:48 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:d中存储类始终用关键字. 常等后面,最好加上括号. scope允许@safe访问有限生命期的原始指针/数组. 在模板函数/或返回动等要求函数源,时都推导属性.如仅声明,而不定义函数,由canInferAttributes决定是否推导. &是类型系统的一部分,与其他部分各种杂糅.&仅能出现在类型头,不 阅读全文
posted @ 2021-11-28 14:20 zjh6 阅读(24) 评论(0) 推荐(0) 编辑
摘要:地址 中文版地址 阅读全文
posted @ 2021-11-28 13:06 zjh6 阅读(3) 评论(0) 推荐(0) 编辑
摘要:每次调试运行时,都是惊心动魄的, 要写C++,你得有强壮的心理.怎么错的呢?实在是太奇怪了. 静 动 f=[&](整 m){ //调试(3,"f",m,k); b=原[m];e=y.看(b);压(小,b,e); //调试(3,b,e); };//两个b,多写了一个. 两个错误,一是多写了个b,幸好有 阅读全文
posted @ 2021-11-28 12:14 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:突然崩溃了. 空 改调试级(){//统一处理. t.置级(0);//1级,弱了. t.注册<1,...>(); }//将类改为0,函数改为1,在这里面改. 先改代码级,改到最大.最后在 调试(3,"分");// 这里发现了.大概在该段.先多点加上打印("啊啊啊"); 定位在切串函数.代码如下: 整 阅读全文
posted @ 2021-11-28 11:16 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:空 加(串&小){压词(小,列);} 空 加(常 串&小){串 a=小;压词(a,列);} //真是恶心 阅读全文
posted @ 2021-11-28 10:17 zjh6 阅读(6) 评论(0) 推荐(0) 编辑
摘要:import std.stdio; import std.windows.registry; void main(string[] args) { writeln("hello world"); writefln("args.length = %d", args.length); foreach ( 阅读全文
posted @ 2021-11-28 09:15 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:指针类型变量的域,表明指针值不会离开声明变量的域. 主要意义是:在@安全代码上用栈变量时避免内存破坏. 异步编程 阅读全文
posted @ 2021-11-25 22:22 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:我们以前经常这样写函数: 元<类 F,类 T>空 啊(F&f,T&t){ f(t); } 看起来,没问题,可是,万一需要的f数多了,变成这样: 元<类 F,类 G,类 E,类 T>空 啊(F&f,G&g,E&e,T&t){ f(t);g(t);e(t); } 等等,想必就难看多了吧. 而,现在借助概 阅读全文
posted @ 2021-11-25 16:20 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 构 E{ 空 啊(){ 打印("啊"); } }; 元<类 T>概念 有啊=要求(T&t){t.啊();}; 构 F{ 空 哈哈(){ 打印("啊"); } }; 元<有啊 T> 构 B{ 空 哈哈(){ T t;t.啊(); 打印("T"); } }; 空 主(){ B 阅读全文
posted @ 2021-11-25 16:06 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 构 B{}; 空 主(){ //用 S=无序集<串>;用 T=无序映<串,串>; 动&头=集引<串,0,B>(); 动&不定=映引<串,串,0,B>(); 打印("哈哈"); } 这样,也是可以的: #include <常用> 构 B{ 单 动&头=集引<串,0,B>() 阅读全文
posted @ 2021-11-25 11:22 zjh6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:#include <常用> //方便造引用. 用 T=无序集<串>; 类 B{//这样只能造一个引用. //如何限制为`B`类局部呢 单 T&语=集引<串,0,B>(),&列=集引<串,1,B>(); 单 串&啊=造引<串,0,B>(),&呀=造引<串,1,B>(); //T&列=语; 公: 空 切 阅读全文
posted @ 2021-11-25 10:17 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 元<类 A,类 D>整 引序(整 i){//K为容器类型 静 整 I=0;如(i>I)I=i;中 I++; }//设置引用的序号.避免重复.A为类型 //通过不同的<A,D>造不同的引序. //A为类型,D为本引用位置区间.通过A,D来区分静 元<类 B,整 I,类 D> 阅读全文
posted @ 2021-11-24 22:21 zjh6 阅读(59) 评论(0) 推荐(0) 编辑
摘要:串&啊(){ 静 串 a; 中 a; } 类 B{ 串&c=啊(); }; 构 D{ 串 s; }; //差别是4/12,4/32的区别. 空 主(){ B b; 打印(型长(B),型长(D)); } 阅读全文
posted @ 2021-11-24 20:03 zjh6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:类 B{ 串&c; 公: 显 B(串&d):c(d){} //靠的是这里的`C(d)`初化,否则初化不了. }; 构 D{ 串 s; }; //差别是4/12,4/32的区别. 空 主(){ 串 c; B b{c}; 打印(型长(B),型长(D)); } 阅读全文
posted @ 2021-11-24 18:47 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 构 B{ 向量<串>&s; }; 构 D{ 向量<串>s; }; //差别是4/12,4/32的区别. 空 主(){ 向量<串>t{"a"}; B b{t}; 打印(型长(B),型长(D)); } 阅读全文
posted @ 2021-11-24 16:54 zjh6 阅读(6) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 构 B{//改成类,编译不过 整&i; 空 啊(整 k){ 打印("i,k",i,k); } }; 空 主(){ 整 t=3;B b{t};b.啊(4); } 阅读全文
posted @ 2021-11-24 16:50 zjh6 阅读(3) 评论(0) 推荐(0) 编辑
摘要:原文地址 解决ref-return-scope参数的歧义 按ref return scope声明函数参数时,是return ref还是return scope? 考虑以下类型: 类型意思P有间接I无间接引用X可能有或可能无间接寻址 当前这样解析: a,P foo(ref return scope P 阅读全文
posted @ 2021-11-24 14:51 zjh6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:将b清单加给a程序: mt.exe -nologo -manifest "b.manifest" -outputresource:"a.exe;1" 从a程序提取出2清单: mt.exe -inputresource:a.exe;#1 -out:2.manifest 下面为dpi相关清单. <?xm 阅读全文
posted @ 2021-11-23 15:26 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:cl输出清单命令: /MANIFEST /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Release\aa.exe.manifest" 没用.用mt来加.见此 阅读全文
posted @ 2021-11-23 15:06 zjh6 阅读(15) 评论(0) 推荐(0) 编辑
摘要:mt.exe [ -manifest <manifest1 名> <manifest2 名> ... ] [ -identity:<身份串> ] [ <<[-rgs:<.rgs 文件名>] [-tlb:<.tlb 文件名>] [-winmd:<.winmd 文件名>]> -dll:<文件名> > [ 阅读全文
posted @ 2021-11-23 14:01 zjh6 阅读(41) 评论(0) 推荐(0) 编辑
摘要:@echo off set DGUI_LIB=Release\DGui.lib set SAMPLES_DIR=dgui_samples\ set OUT_DIR=%SAMPLES_DIR% set samples=events, gradient_rect, gradient_triangle, 阅读全文
posted @ 2021-11-23 09:59 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:确实,我遇见的最容易编译的gui了. 先在这里拉下来. 然后改:dgui\dgui\core\menu\abstractmenu.d的一个编译错误,将mi随便改一个.用微软的DGui.sln编译好了.当然要有VisualD,不过已经很爽了. 再点build-samples.bat,就编译成功,可以运 阅读全文
posted @ 2021-11-23 09:28 zjh6 阅读(15) 评论(0) 推荐(0) 编辑
摘要:作者:d作者. 用ImportC来伟大的编程 D专门设计为易于对接C ●零成本,●兼容类型,●熟悉语法,●兼容语义 使C代码可从D访问 ●只需转换C.h文件为D ●很容易 ●时间短 ●应不难 但,我们打了个叉叉. 我们可能错误: ●预处理器宏混淆了代码 ●#includes可爆炸到10,000行或更 阅读全文
posted @ 2021-11-22 16:19 zjh6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:编译dub,加上: "buildType": "release", "dflags": ["-shared"], 虽然编译出来了,但不能运行.再看看. dmd找不到phobos32mscoff.lib,可以这样,但仍出错: "lflags": ["/LIBPATH:e:\\path","/LIBPA 阅读全文
posted @ 2021-11-22 14:01 zjh6 阅读(24) 评论(0) 推荐(0) 编辑
摘要://QtE5-单一形式 导入 标.标io; 导入 qte56; //QtE5图形库 导入 核心.运行时; //处理输入参数 //dmd p2.d qte56.d -release -mcpu=native -m64 常 红串 ="背景:粉红色"; //________________________ 阅读全文
posted @ 2021-11-22 13:41 zjh6 阅读(20) 评论(0) 推荐(0) 编辑
摘要:我又下载了一次.地址在此 下载的是5.14.2版. 下载后,要下载python36.dll,并放在qtcreator的bin目录,不要放在path里面,这样的话,vim会出问题. rcc下载地址 rcc在下载的安装的VS2017 32位中,默认未选,得自己加上. 阅读全文
posted @ 2021-11-22 12:20 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:原文 下载地址 示例在examples/qte56help2中,复制QtE56core.dll, QtE56widgets.dll至该目录,对林操,复制*.so文件.用如下命令: rcc -binary a3.qrc -o a3.rcc dmd qte56help2.d qte56.d lib56. 阅读全文
posted @ 2021-11-22 10:21 zjh6 阅读(25) 评论(0) 推荐(0) 编辑
摘要:{ "languageserver": { "d": { "command": "/home/burner/.dub/packages/serve-d-0.7.0/serve-d/serve-d", "filetypes": ["d"], "trace.server": "on", "rootPat 阅读全文
posted @ 2021-11-22 08:55 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:探测器profiler给定输入,生成程序如何花费时间报告.记住:性能不仅由机器码主导.可告诉你如何使算法更快.可分析时间/内存/线程竞争. 程序慢时,要探测.诊断性能,理解程序.定期基测,不时探测,来检查程序. 如何取数据? 采样:中断过程,收集数据,循环…更快. VTune提供检测和跟踪的API. 阅读全文
posted @ 2021-11-21 23:12 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:构 B{ 整 j; 整&i=j; 空 啊(整 k){ j=k; 打印("i,j,k",i,j,k); } }; 空 主(){ B b;b.啊(4); } 阅读全文
posted @ 2021-11-21 16:11 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:如题,登录的时候,居然搞死机了.太恶心人了. 阅读全文
posted @ 2021-11-21 09:27 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:元<符 C,类 T> 空 加(串&文,无序映<串,T>&们){//这里错了. 静 动 f=[&](向量<串>&a,串&e,无序映<串,T>&d){ 加列(d,a,e); };//语规与语项搞混了. 加<C>(f,文,们); }//;号为注释,C号为开头,表示后面映的,中间为串 可以化简为: 元<符 阅读全文
posted @ 2021-11-20 22:52 zjh6 阅读(7) 评论(0) 推荐(0) 编辑
摘要:原文 如何在D中带betterC使用带有C++链接的类. 在D中,可在-betterC条件下用类.是的,可以! D中-betterC不能用类的问题是:依赖运行时勾挂和来自D运行时库的类型信息. 而betterC禁止使用运行时类型信息,所以betterC不能用依赖它的设施.但由于不依赖任何运行时库,b 阅读全文
posted @ 2021-11-20 16:29 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:mixin template Replaceable() { // returns a replaced thing when you use it as `with_someField` typeof(this) opDispatch(string s, T)(T replacement) if( 阅读全文
posted @ 2021-11-20 09:09 zjh6 阅读(6) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 元<整 I,类 T> 构 B{ 保护: 向量<极>记;向量<向量<T>>列; 整 i=4; }; 元<整 I,类 T=B<I,串>> 构 X:公 T{ 整 j=0; 用 T::记,T::列;//不行,太折腾了. //用 T::记,T::列,T::i;//要这样. 空 啊( 阅读全文
posted @ 2021-11-19 11:28 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:#include <常用> 元<整 I> 构 B{ 整 i=4; }; 构 X:公 B<2>{ 整 j=0; 空 啊(){ 打印(i,j); } }; 构 Y:公 X{}; 空 主(){ Y x;x.啊(); } 阅读全文
posted @ 2021-11-19 11:05 zjh6 阅读(3) 评论(0) 推荐(0) 编辑
摘要:import std.complex; auto i(double v) { return complex(0, v); } void main() { int i = 5; auto c = (6 + 2.5.i - 1 + 3.i) / 3.i; } 阅读全文
posted @ 2021-11-18 21:28 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:显 串编码(常 向量<串>&t){ 向量 d=t;初化(d); } 显 串编码(向量<串>&t){ 初化(t); } 还有这个恶心人的问题 连继承都不能用,这些人只顾自己. 阅读全文
posted @ 2021-11-18 11:07 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:元<符 C,整 I>串 连续串(){ 整 i=0;符 d;串 e; 当(i<I){d=C+i;压(e,d);i++;} 中 e; } 串 小写字母串(){中 连续串<'a',26>();} 串 大写字母串(){中 连续串<'A',26>();} 串 字母串(){中 小写字母串()+大写字母串();} 阅读全文
posted @ 2021-11-17 22:35 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:fun! Pcl2(z,F,...) "需要文件名为第一参. let l=Jcll(a:z) let H=function(a:F) for i in l let C=extend([i],a:000) call call(H,C) "放i在此.这要避免单个解包. "如果H(i,a:000),这是要 阅读全文
posted @ 2021-11-16 14:58 zjh6 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一不备份,就犯错误.真是. 以后,处理批量任务前,一定要记得备份. 阅读全文
posted @ 2021-11-16 14:11 zjh6 阅读(1) 评论(0) 推荐(0) 编辑
摘要:D打包位 作者:@deadalnix. 内存很慢,约300个周期. L1:3~4周期,L2:8-14周期.L3数十个周期. 缓存线:64字节. 序号打包位好处1减少内存浪费2提高缓存利用率3最低的CPU成本4不能替代更好算法 减少实例化对象可节省大量内存! 对齐:确保加载/存储不跨缓存行/跨页边界. 阅读全文
posted @ 2021-11-15 22:24 zjh6 阅读(4) 评论(0) 推荐(0) 编辑
摘要:作者:伊森.沃森(Ethan Watson) 为什么用d? 序号特点1节约成本2易于从C++/C#中学习3很容易写干净代码4内省鼓励可维护性5但未广泛使用 解析模板参数 常见代码问题: void SomeFunc( bool ImportantParam, bool AnotherImportant 阅读全文
posted @ 2021-11-14 17:59 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:过时 -de开关,警告变错误.-d变安静. 类不应该负责他们自己的(释放)分配策略 不同枚举类型间比较: import std.conv : asOriginalType; assert(Foo.x.asOriginalType == Bar.y.asOriginalType); //按原类型 de 阅读全文
posted @ 2021-11-14 15:26 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:import core.stdc.stdio; extern(C): struct A(int I){ int i; static if(I==4) void f(){ printf("kk"); } } void main() { A!4 t; t.f(); } d的编译时值参数与static i 阅读全文
posted @ 2021-11-12 20:40 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:0 给串加别名. 加.idup创建不变副本 加常/不变/止. 每一值变量现在默认为止 类和构不变声明现在必须有() 1 .init基于类型,而非初始值. 3 加外(系统) 加标.特征 4 加-debuglib和-defaultlib命令行开关. 允许多模块静态构造/析构函数 6 各种串改为不变. 对 阅读全文
posted @ 2021-11-12 16:54 zjh6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:vim从上个#数字复制并加1. fun! Jxhbt() "加序号标题,从前面的#挨个加一个数 norm! ?#^MYGp^A "直接复制过来的. endf 其中^M,^A得是录制出来的,这里表示不出来. 阅读全文
posted @ 2021-11-10 19:19 zjh6 阅读(117) 评论(0) 推荐(0) 编辑
摘要:原文地址 D中的函数式处理图像 最近完成了D库图形包大修.大修受到D的std.algorithm和std.range模块启发: 序号特点1按可组合小型组件展示内容2避免隐式复制,更喜欢懒求值3用模板编写高效代码 从第一次迭代,按颜色类型模板化图像包组件.这不是实现图形库的像多数库抽出面向对象接口后面 阅读全文
posted @ 2021-11-10 16:33 zjh6 阅读(24) 评论(0) 推荐(0) 编辑
摘要:fun! Zcjhb() "注册交换标点 let c='~`!@#$%^&*()-_=+[{]}\;:"'',.<>/?' "常用标识,键盘上的单个按键全有了.|这个符号不行 "注意,|要单独 for j in range(0,len(c)) let i=c[j] let k=string(i) l 阅读全文
posted @ 2021-11-08 17:50 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:--b / --f开关. 阅读全文
posted @ 2021-11-06 09:41 zjh6 阅读(1) 评论(0) 推荐(0) 编辑
摘要:// main.d import __stdin : myversion; void main() { import std; writeln(myversion); } 命令行: echo 'enum myversion = "1.2.3";' | dmd - -run main.d Output 阅读全文
posted @ 2021-11-05 08:25 zjh6 阅读(18) 评论(0) 推荐(0) 编辑
摘要:auto get() { return idx.map!(ref (i) => a[i]); } auto get() { return idx.map!((i) => tuple(&a[i], i)); } 引用不行时,用指针. 阅读全文
posted @ 2021-11-04 21:19 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:void assumedLength(S)(ref S slice, size_t length) { if(slice.length >= length) slice.length = length; else assert(false, "Let's not corrupt memory tod 阅读全文
posted @ 2021-11-03 16:31 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:struct ClassRangeWrapper(T) if (is(T == class) || is(T == interface)) { T payload; alias payload this; this(ref inout typeof(this) other) inout { this 阅读全文
posted @ 2021-11-02 11:31 zjh6 阅读(6) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示