d混杂名字

原文
不混杂类型名,有个包,模块,父构成的全名.

示例:

module mypack.mymod;

import std.stdio;

struct S
{
    struct Is {}
}

void main()
{
    writeln(typeid(S));
    writeln(typeid(S.Is));
}
//打印
mypack.mymod.S
mypack.mymod.S.Is

S*成员类型的S构也是S.
混杂名,以_D开头,包含变量,函数等要混杂符号的编码.用反向引用编码参数类型,函数属性,及推导域.允许-dip1000链接非-dip1000代码.
core.demangle编程方式来解码.ddemangle通过命令行来处理,

nm --demangle=dlang

也可以.由extern(语言)pragma(mangle)来修改混杂名.这里,语言有C,C++,Objective-C,System,D.

posted @   zjh6  阅读(10)  评论(0编辑  收藏  举报  
努力加载评论中...
点击右上角即可分享
微信分享提示