当前位置: 首页>>代码示例>>C++>>正文


C++ ArrayF::GetCount方法代码示例

本文整理汇总了C++中ArrayF::GetCount方法的典型用法代码示例。如果您正苦于以下问题:C++ ArrayF::GetCount方法的具体用法?C++ ArrayF::GetCount怎么用?C++ ArrayF::GetCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ArrayF的用法示例。


在下文中一共展示了ArrayF::GetCount方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: GetModuleById

Module* GetModuleById(u16 id)
{
    for(u32 i=0; i<g_modules_list.GetCount(); ++i)
    {
        if(g_modules_list[i].GetID() == id) return &g_modules_list[i];
    }

    return nullptr;
}
开发者ID:deadpool101,项目名称:RPCS3-Fork,代码行数:9,代码来源:SysCalls.cpp

示例2: IsLoadedFunc

bool IsLoadedFunc(u32 id)
{
    for(u32 i=0; i<g_modules_funcs_list.GetCount(); ++i)
    {
        if(g_modules_funcs_list[i].id == id) return true;
    }

    return false;
}
开发者ID:deadpool101,项目名称:RPCS3-Fork,代码行数:9,代码来源:SysCalls.cpp

示例3: UnloadModules

void UnloadModules()
{
    for(u32 i=0; i<g_modules_list.GetCount(); ++i)
    {
        g_modules_list[i].SetLoaded(false);
    }

    g_modules_funcs_list.Clear();
}
开发者ID:deadpool101,项目名称:RPCS3-Fork,代码行数:9,代码来源:SysCalls.cpp

示例4: GetModuleByName

Module* GetModuleByName(const wxString& name)
{
    for(u32 i=0; i<g_modules_list.GetCount(); ++i)
    {
        if(g_modules_list[i].GetName().Cmp(name) == 0) return &g_modules_list[i];
    }

    return nullptr;
}
开发者ID:deadpool101,项目名称:RPCS3-Fork,代码行数:9,代码来源:SysCalls.cpp

示例5: StaticExecute

void StaticExecute(u32 code)
{
    if (code < g_static_funcs_list.GetCount())
    {
        (*g_static_funcs_list[code].func)();
    }
    else
    {
        ConLog.Error("StaticExecute(%d): unknown function or illegal opcode", code);
    }
}
开发者ID:AMMAREN,项目名称:rpcs3,代码行数:11,代码来源:Static.cpp

示例6: CallFunc

bool CallFunc(u32 num)
{
    for(u32 i=0; i<g_modules_funcs_list.GetCount(); ++i)
    {
        if(g_modules_funcs_list[i].id == num)
        {
            (*g_modules_funcs_list[i].func)();
            return true;
        }
    }

    return false;
}
开发者ID:Kokainshik,项目名称:rpcs3,代码行数:13,代码来源:Modules.cpp

示例7:

SectionInfo::~SectionInfo()
{
    sections_list.RemoveFAt(section_num);

    for(u32 i=section_num + 1; i<sections_list.GetCount(); ++i)
    {
        sections_list[i].shdr.sh_offset -= code.GetCount();
        sections_list[i].shdr.sh_name -= name.length();
    }

    section_offs -= code.GetCount();
    section_name_offs -= name.length();
}
开发者ID:BlastarIndia,项目名称:rpcs3,代码行数:13,代码来源:PPUProgramCompiler.cpp

示例8: UnloadFunc

bool UnloadFunc(u32 id)
{
    for(u32 i=0; i<g_modules_funcs_list.GetCount(); ++i)
    {
        if(g_modules_funcs_list[i].id == id)
        {
            g_modules_funcs_list.RemoveAt(i);

            return true;
        }
    }

    return false;
}
开发者ID:deadpool101,项目名称:RPCS3-Fork,代码行数:14,代码来源:SysCalls.cpp

示例9: CallFunc

bool CallFunc(u32 id, s64& ret)
{
    for(u32 i=0; i<g_modules_funcs_list.GetCount(); ++i)
    {
        if(g_modules_funcs_list[i].id == id)
        {
            ret = g_modules_funcs_list[i].func();

            return true;
        }
    }

    return false;
}
开发者ID:deadpool101,项目名称:RPCS3-Fork,代码行数:14,代码来源:SysCalls.cpp

示例10: SetDataSize

void SectionInfo::SetDataSize(u32 size, u32 align)
{
    if(align) shdr.sh_addralign = align;
    if(shdr.sh_addralign) size = Memory.AlignAddr(size, shdr.sh_addralign);

    if(code.GetCount())
    {
        for(u32 i=section_num + 1; i<sections_list.GetCount(); ++i)
        {
            sections_list[i].shdr.sh_offset -= code.GetCount();
        }

        section_offs -= code.GetCount();
    }

    code.SetCount(size);

    section_offs += size;

    for(u32 i=section_num + 1; i<sections_list.GetCount(); ++i)
    {
        sections_list[i].shdr.sh_offset += size;
    }
}
开发者ID:BlastarIndia,项目名称:rpcs3,代码行数:24,代码来源:PPUProgramCompiler.cpp

示例11: UnloadFunc

bool UnloadFunc(u32 id)
{
    std::lock_guard<std::mutex> lock(g_funcs_lock);

    for(u32 i=0; i<g_modules_funcs_list.GetCount(); ++i)
    {
        if(g_modules_funcs_list[i].id == id)
        {
            g_modules_funcs_list.RemoveFAt(i);

            return true;
        }
    }

    return false;
}
开发者ID:davidlee80,项目名称:rpcs3,代码行数:16,代码来源:Modules.cpp

示例12: CallFunc

bool CallFunc(u32 num)
{
    func_caller* func = nullptr;
    {
        std::lock_guard<std::mutex> lock(g_funcs_lock);

        for(u32 i=0; i<g_modules_funcs_list.GetCount(); ++i)
        {
            if(g_modules_funcs_list[i].id == num)
            {
                func = g_modules_funcs_list[i].func;
                break;
            }
        }
    }
    if (func)
    {
        (*func)();
        return true;
    }
    return false;
}
开发者ID:davidlee80,项目名称:rpcs3,代码行数:22,代码来源:Modules.cpp

示例13: StaticAnalyse

void StaticAnalyse(void* ptr, u32 size, u32 base)
{
    u32* data = (u32*)ptr; size /= 4;

    if(!Ini.HLEHookStFunc.GetValue())
        return;

    // TODO: optimize search
    for (u32 i = 0; i < size; i++)
    {
        for (u32 j = 0; j < g_static_funcs_list.GetCount(); j++)
        {
            if ((data[i] & g_static_funcs_list[j].ops[0].mask) == g_static_funcs_list[j].ops[0].crc)
            {
                bool found = true;
                u32 can_skip = 0;
                for (u32 k = i, x = 0; x + 1 <= g_static_funcs_list[j].ops.GetCount(); k++, x++)
                {
                    if (k >= size)
                    {
                        found = false;
                        break;
                    }

                    // skip NOP
                    if (data[k] == se32(0x60000000)) 
                    {
                        x--;
                        continue;
                    }

                    const u32 mask = g_static_funcs_list[j].ops[x].mask;
                    const u32 crc = g_static_funcs_list[j].ops[x].crc;

                    if (!mask)
                    {
                        // TODO: define syntax
                        if (crc < 4) // skip various number of instructions that don't match next pattern entry
                        {
                            can_skip += crc;
                            k--; // process this position again
                        }
                        else if (data[k] != crc) // skippable pattern ("optional" instruction), no mask allowed
                        {
                            k--;
                            if (can_skip) // cannot define this behaviour properly
                            {
                                ConLog.Warning("StaticAnalyse(): can_skip = %d (unchanged)", can_skip);
                            }
                        }
                        else
                        {
                            if (can_skip) // cannot define this behaviour properly
                            {
                                ConLog.Warning("StaticAnalyse(): can_skip = %d (set to 0)", can_skip);
                                can_skip = 0;
                            }
                        }
                    }
                    else if ((data[k] & mask) != crc) // masked pattern
                    {
                        if (can_skip)
                        {
                            can_skip--;
                        }
                        else
                        {
                            found = false;
                            break;
                        }
                    }
                    else
                    {
                        can_skip = 0;
                    }
                }
                if (found)
                {
                    ConLog.Write("Function '%s' hooked (addr=0x%x)", g_static_funcs_list[j].name, i * 4 + base);
                    g_static_funcs_list[j].found++;
                    data[i+0] = re32(0x39600000 | j); // li r11, j
                    data[i+1] = se32(0x44000003); // sc 3
                    data[i+2] = se32(0x4e800020); // blr
                    i += 2; // skip modified code
                }
            }
        }
    }

    // check function groups
    for (u32 i = 0; i < g_static_funcs_list.GetCount(); i++)
    {
        if (g_static_funcs_list[i].found) // start from some group
        {
            const u64 group = g_static_funcs_list[i].group;

            enum GroupSearchResult : u32
            {
                GSR_SUCCESS = 0, // every function from this group has been found once
                GSR_MISSING = 1, // (error) some function not found
//.........这里部分代码省略.........
开发者ID:AMMAREN,项目名称:rpcs3,代码行数:101,代码来源:Static.cpp


注:本文中的ArrayF::GetCount方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。