d如何减小大小
//empty.d:
void main() {
}
dmd -de -w empty.d
空代码,却有869KiB
.如何减小?
这是正常的,默认你有很多类型信息
(允许动态自省
的静态数据),在隐式导入object.d
中的代码,运行时(如用于GC
的代码).
除了使用-betterC
,真的可以摆脱它,但会看到所有使默认主程序变大的东西在实际程序
中很有用.
只是目前,D
还没有那么"随用随付
".
问题是druntime
,需要支持许多D特性
,它很大且默认是完整链接
的.链接器
可去掉
未使用函数,但即使在空程序中,在main
引入大部分
函数前也要做很多工作:
1,初化浮点设置
,处理信号,stdout
和stderr
2,解析--DRT
来配置垃集的命令行选项
.
3,运行模块构造器/单元测试
一个目标是让druntime
更加"按需付费",但进展
缓慢.同时,如果可不用很多需要运行时
的D特性
,你可用-betterC
,文档.
使用LDC2
编译器,可用--link-defaultlib-shared
,在多个程序
共享时,可重用.最后,可查看运行时
的自定义版本,如LightWeightDRuntime
,见此
如果编译速度
和细节
不重要,可用带有-O1
参数的ldc2
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现