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.
浙公网安备 33010602011771号