直接点在dlang内置的dmd目录里面的vcbuild里面的dmd.sln没用.要这样:dub fetch dmd.然后在这个目录下面点dmd.sln然后按f7编译就成功了.
原创
2022-02-09 17:02:05
41阅读
直接点在dlang内置的dmd目录里面的vcbuild里面的dmd.sln没用.要这样:dub fetch dmd.然后在这个目录下面点dmd.sln然后按f7编译就成功了.
原创
2021-08-19 16:44:39
112阅读
w.b.(d作者)dmd后端的总体设计是简单的,复杂性来自指令集,没办法的事,内联汇编器也是,intel的初始设计管用了40年.而x87则不行了.重写代码,很难.1%花费500%的时间,还要花几年去解决过去已解决的.dmd后端12万行,包括:优化器,调试符号信息,生成异常处理表,及大量目标文件格式.实际生成代码约4万行.对现代cpu,调度器没啥用....
原创
2022-02-25 14:08:09
76阅读
w.b.(d作者)dmd后端的总体设计是简单的,复杂性来自指令集,没办法的事,内联汇编器也是,intel的初始设计管用了40年.而x87则不行了.重写代码,很难.1%花费500%的时间,还要花几年去解决过去已解决的漏洞.dmd后端12万行,包括:优化器,调试符号信息,生成异常处理表,及大量目标文件格式.实际生成代码约4万行.对现代cpu,调度器没啥用....
原创
2021-08-20 09:22:06
264阅读
dmd -c test.dobj2asm test.obj >test.asm
原创
2021-10-25 11:14:48
113阅读
dmd结构原文在此github的raw数据与渲染出来数据不一样.简直太搞笑.目录结构dmd/驱动和前端dmd/backend/x86/x86-64生成代码,同dmc共享.但不与ldc/gdc共享dmd/root/仅dmd使用的工具库DMD结构平坦,本节按编译过程划分组,方便浏览.驱动文件目的mars.d入口,定义主.cli.d命令行接口.globals.d存储命令行选项.dinifile.d从sc.ini或d
原创
2021-08-20 09:14:19
165阅读
原文在此
所有D编译器分为两部分:前端和后端
前端:词法和解析d语法,实例化模板.ldc(llvm)/gdc(gcc)/dmd(boost)共享.
后端:生成代码,优化,输出目标文件
胶水层:连接前后端.
编译周期
词法(令牌数组(lexer))–构建简单语法树(parser)–然后三阶段语义处理(mars中,语义1,2,3)依次接近最终表示(解析类型,实例化模板)–
阶段
任务
1语义
分析所有声明的完整签名(聚集类型成员,函数参数和返回及变量类型,求值(pragma(msg))).
原创
2022-02-25 10:30:14
118阅读
原文比其他编译器快.基本设计很简单.节点类型上每个表达式有个生成函数.用标准分析数据流数学来优化.分配寄存器和
原创
2022-02-26 11:43:58
86阅读
dmd -c test.d
obj2asm test.obj >test.asm
原创
2022-02-16 10:21:23
78阅读
dmd结构原文在此github的raw数据与渲染出来数据不一样.简直太搞笑.目录结构dmd/驱动和前端dmd/backend/x86/x86-64生成代码,同dmc共享.但不与ldc/gdc共享dmd/root/仅dmd使用的工具库DMD结构平坦,本节按编译过程划分组,方便浏览.驱动文件目的mars.d入口,定义主.cli.d命令行接口.globals.d存储命令行选项.dinifile.d从sc.ini或d
原创
2022-02-25 10:30:18
133阅读
原文在此所有D编译器分为两部分:前端和后端前端:词法和解析d语法,实例化模板.ldc(llvm)/gdc(gcc)/dmd(boost)共享.后端:生成代码,优化,输出目标文件胶水层:连接前后端.编译周期词法(令牌数组(lexer))–构建简单语法树(parser)–然后三阶段语义处理(mars中,语义1,2,3)依次接近最终表示(解析类型,实例化模板)–阶段任务1语义分析所有声明的完整签名(聚集类型成员,函数参数和返回及变量类型,求值(pragma(msg))).
原创
2021-08-20 09:12:44
110阅读
dmd编译速度太慢
原创
2022-10-29 10:49:36
85阅读
1,翻译源码,x*2为x<<1,内联函数.2,选指应生成: SETC AL MOVZ EAX,AL//或: SBB EAX NEG EAX3,优化分析数据流,如:传播常量,消除死码,分配寄存器,循环不变量这是比较容易提升的.不久前,我改进了BT指令用法.实现猜语句
原创
2021-10-11 10:08:54
200阅读
dmd内置覆盖器
原创
2022-10-16 00:00:25
35阅读
dmd库示例用法
原创
2022-11-12 01:09:25
87阅读
原文1,翻译源码,x*2为x<<1,内联函数.2,选指应生成: SETC AL MOVZ EAX,AL//或: SBB EAX NEG EAX3,优化分析数据流,如:传播常量,消除死码,分配寄存器,循环不变量这是比较容易提升的.不久前,我改进了BT指令用法.实现猜语句,固定整除用乘倒数实现.乔金:
原创
2022-02-16 14:52:27
111阅读
今日内容概要hashlib加密模块subprocess模块logging日志模块软件开发主要流程今日内容详细hashlib加密模块1.何为加密
将明文数据处理成密文数据 让人无法看懂
2.为什么加密
保证数据的安全
3.如何判断数据是否是加密的
一串没有规律的字符串(数字、字母、符号)
4.密文的长短有何讲究
密文越长表示使用的加密算法(数据的处理过程)越复杂
5.常见的加密算法有哪些
查壳 在linux下运行 需要输入正确的Key IDA反编译 int __cdecl main(int argc, const char **argv, const char **envp) { __int64 v3; // rax __int64 v4; // rax __int64 v5; // ...
转载
2021-07-25 14:36:00
373阅读
2评论
原文用-vasm来查看,如对test.d文件:int demo(int x){ return x * x;}用dmd test.d -c -vasm来编译,打印出:_D4test4demoFiZi:0000: 89 F8 mov EAX,EDI0002: 0F AF C0 imul EAX,EAX0005: C3 ret细节在此
原创
2022-02-09 15:25:17
30阅读
-fuse-ld=gold -Xcc=-fuse-ld=goldgnu 的gold链接器或其他
原创
2021-08-20 09:57:34
107阅读