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


C++ Segment::byte方法代码示例

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


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

示例1: parseData

bool ModuleParser::parseData()
{
    uint32_t segmentCount;
    if (!parseVarUInt32(segmentCount)
        || segmentCount == std::numeric_limits<uint32_t>::max()
        || !m_module->data.tryReserveCapacity(segmentCount))
        return false;
    if (verbose)
        dataLogLn("  segments: ", segmentCount);

    for (uint32_t segmentNumber = 0; segmentNumber < segmentCount; ++segmentNumber) {
        if (verbose)
            dataLogLn("  segment #", segmentNumber);
        uint32_t index;
        uint64_t offset;
        uint8_t initOpcode;
        uint32_t dataByteLength;
        if (!parseVarUInt32(index)
            || index)
            return false;

        if (!parseInitExpr(initOpcode, offset))
            return false;

        if (initOpcode != OpType::I32Const)
            return false;

        if (verbose)
            dataLogLn("    offset: ", offset);

        if (!parseVarUInt32(dataByteLength)
            || dataByteLength == std::numeric_limits<uint32_t>::max())
            return false;
        if (verbose)
            dataLogLn("    data bytes: ", dataByteLength);

        Segment* segment = Segment::make(offset, dataByteLength);
        if (!segment)
            return false;
        m_module->data.uncheckedAppend(Segment::makePtr(segment));
        for (uint32_t dataByte = 0; dataByte < dataByteLength; ++dataByte) {
            uint8_t byte;
            if (!parseUInt8(byte))
                return false;
            segment->byte(dataByte) = byte;
            if (verbose)
                dataLogLn("    [", dataByte, "] = ", segment->byte(dataByte));
        }
    }
    return true;
}
开发者ID:eocanha,项目名称:webkit,代码行数:51,代码来源:WasmModuleParser.cpp


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