d更好C的运行时更好错误消息

原文

extern (C) int main ()
{
    auto s = "a".idup;
    return 0;
}

错误消息,不能很好定位错误.

可惜,问题在勾挂内部使用typeid.dup'只是个普通模板,所以编译器不会特殊处理.根源是dup内部使用typeid来传递Typeinfo给(目前还未模板化)新数组勾挂.一旦模板化新数组且不再需要Typeinfo,该问题就会消失.

所以,真正方法是模板化_d_new_array勾挂.

最近已有了很大进步,且已模板化很多勾挂.我很期望2023最终将实现它.
此外,typeid问题只是表面原因,根本问题是调用了接收Typeinfo对象的函数(并用typeid来取底层的Typeinfo),只能通过模板化(编译器勾挂)该函数来解决该问题.

posted @   zjh6  阅读(14)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示