个人d文档备注
过时
-de开关,警告变错误.-d变安静.
类不应该负责他们自己的(释放)分配策略
不同枚举类型间比较:
import std.conv : asOriginalType;
assert(Foo.x.asOriginalType == Bar.y.asOriginalType);
//按原类型
delete假定了GC.所以弃用了.
弃用了scope class C { }.
可抛类不满足不清理或不跑析构器等核心保证.
由于统调,clear可能与其他方法冲突.
删除基类保护,没啥用.
typedef不够灵活,无法涵盖所有用例
弃用,不带默认非止开关.不带默认隐藏错误,应显式指明.
隐藏基类,同样名函数,不同参数隐藏了基类.而不必覆盖.加函数至基类或别名基类至本类来引入名字.
弃用C风格函数指针.
$替换长度.
无转义字符串.
volatile改为同步.
覆盖必须要有盖字.避免误覆盖.
64位整数用L后缀.小写易与1混淆
隐藏变量重命名.易导致难以发现的错误.
虚浮点用i后缀.
弃用删除AA语法.
.offset=>.offsetof.
.size=>.sizeof.
.typeinfo=>typeid().
dmd窗口
选项 | 意思 |
|---|---|
.def | 定义模块文件. |
@cmdfile | 用来从该文件读编译器参数和开关 |
-allinst | 为所有模板生成实例 |
-conf=filename | 用配置文件. |
-Dd | 写文档至目录 |
-d | 安静允许弃用. |
-de | 弃用变错误 |
-debug | 调试 |
-debuglib | 替换默认库 |
-deps | 打印依赖项 |
-extern-std | 生成c++相应版本混杂 |
-fPIC | 位置无关 |
-G | 生成调试 |
-Hd | D接口 |
-HC | C++接口 |
-I | 导入目录 |
-i | 包含导入 |
-inline | 提高性能,更难调试 |
-J | 导入串 |
-L | 链接器标志 |
-lib | 生成库 |
-makedeps | 打印依赖 |
-lowmem | 低内存 |
-map | 生成map文件 |
-mcpu | 置目标架构 |
-mixin | 扩展插件,保存到文件,方便调试 |
-mscrtlib | 库 |
-mv | 包.模块 |
-o- | 禁止生成目标文件 |
-O | 优化 |
-preview | 预览 |
-profile | 诊断性能 |
-profile=gc | 诊断gc性能 |
-run | 跑 |
-shared | dll |
-transition | 过度 |
-unittest | 测试单元 |
-v | 详细 |
-vgc | 垃集 |
-vtls | 线本 |
-vtemplates | 查看实例化 |
-X | 数格 |
有些选项略了.
数据竞争,两个线程,写入相同内存位置.
浙公网安备 33010602011771号