本文整理汇总了C++中CStringList::GetEntry方法的典型用法代码示例。如果您正苦于以下问题:C++ CStringList::GetEntry方法的具体用法?C++ CStringList::GetEntry怎么用?C++ CStringList::GetEntry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStringList
的用法示例。
在下文中一共展示了CStringList::GetEntry方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Validate
bool CThumbInstruction::Validate()
{
CStringList List;
RamPos = g_fileManager->getVirtualAddress();
if (RamPos & 1)
{
Logger::queueError(Logger::Warning,L"Opcode not halfword aligned");
}
if (Opcode.flags & THUMB_DS)
{
Vars.rs = Vars.rd;
}
if (Opcode.flags & THUMB_IMMEDIATE)
{
if (ParsePostfix(Vars.ImmediateExpression,&List,Vars.Immediate) == false)
{
if (List.GetCount() == 0)
{
Logger::queueError(Logger::Error,L"Invalid expression");
} else {
for (int l = 0; l < List.GetCount(); l++)
{
Logger::queueError(Logger::Error,convertUtf8ToWString(List.GetEntry(l)));
}
}
return false;
}
Vars.OriginalImmediate = Vars.Immediate;
if (Opcode.flags & THUMB_BRANCH)
{
if (Opcode.flags & THUMB_EXCHANGE)
{
if (Vars.Immediate & 3)
{
Logger::queueError(Logger::Error,L"Branch target must be word aligned");
return false;
}
} else {
if (Vars.Immediate & 1)
{
Logger::queueError(Logger::Error,L"Branch target must be halfword aligned");
return false;
}
}
int num = (Vars.Immediate-RamPos-4);
if (num >= (1 << Vars.ImmediateBitLen) || num < (0-(1 << Vars.ImmediateBitLen)))
{
Logger::queueError(Logger::Error,L"Branch target %08X out of range",Vars.Immediate);
return false;
}
Vars.Immediate = num >> 1;
if (Opcode.flags & THUMB_EXCHANGE)
{
Vars.Immediate += Vars.Immediate&1;
}
} else if (Opcode.flags & THUMB_WORD)
{
if (Vars.Immediate & 3) // not allowed
{
Logger::queueError(Logger::Error,L"Immediate value must be a multiple of 4");
return false;
}
Vars.Immediate >>= 2;
} else if (Opcode.flags & THUMB_HALFWORD)