如何获取带有地址的变量类型?

时间:2017-05-22 15:45:29

标签: c++ pointers types memory-address

我正在尝试解析DWARF文件。它正在工作,但现在我想以正确的格式显示值,因此符号/变量的类型是相关的。 我有地址和类型作为符号的字符串。

糟糕的解决方案:

if(symbol->getTypeAsString().contains("int")){
    int* intPtr = (int*)symbol->getAddressAsLong(); 
}    
else if(symbol->getTypeAsString().contains("double")){
    double* intPtr = (double*)symbol->getAddressAsLong();
}

是否可以在没有条件结构的情况下检测给定地址处的符号类型?

我想做这样的事情:

int var = 0x40E251;
auto* varPtr = (auto*)var;
std::cout << typeid(*varPtr).name() << std::endl;

0 个答案:

没有答案