本文整理汇总了C++中Object::AppendSymbol方法的典型用法代码示例。如果您正苦于以下问题:C++ Object::AppendSymbol方法的具体用法?C++ Object::AppendSymbol怎么用?C++ Object::AppendSymbol使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Object
的用法示例。
在下文中一共展示了Object::AppendSymbol方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sym
SymbolRef
ElfSymbol::CreateSymbol(Object& object, const StringTable& strtab) const
{
SymbolRef sym(0);
std::string name = strtab.getString(m_name_index);
if (m_bind == STB_GLOBAL || m_bind == STB_WEAK)
{
sym = object.getSymbol(name);
if (m_index == SHN_UNDEF)
sym->Declare(Symbol::EXTERN);
else
sym->Declare(Symbol::GLOBAL);
}
else
{
// don't index by name, just append
sym = object.AppendSymbol(name);
}
if (m_index == SHN_ABS)
{
if (hasSize())
sym->DefineEqu(m_size);
else
sym->DefineEqu(Expr(0));
}
else if (m_index == SHN_COMMON)
{
sym->Declare(Symbol::COMMON);
}
else if (m_sect != 0)
{
Location loc = {&m_sect->bytecodes_front(), m_value.getUInt()};
sym->DefineLabel(loc);
}
return sym;
}