C# - Ищите двоичный файл шаблон

Если вы не возражаете против использования Grid, как показывает пример кода, вы можете использовать Border элементы управления и изменять их BorderThickness в зависимости от того, какой угол они представляют:

<Grid>
    <Border
        VerticalAlignment="Top"
        HorizontalAlignment="Left"
        BorderThickness="1,1,0,0"
        BorderBrush="Red"
        Width="10" Height="10"
        />
    <Border
        VerticalAlignment="Top"
        HorizontalAlignment="Right"
        BorderThickness="0,1,1,0"
        BorderBrush="Red"
        Width="10" Height="10"
        />
    <Border
        VerticalAlignment="Bottom"
        HorizontalAlignment="Left"
        BorderThickness="1,0,0,1"
        BorderBrush="Red"
        Width="10" Height="10"
        />
    <Border
        VerticalAlignment="Bottom"
        HorizontalAlignment="Right"
        BorderThickness="0,0,1,1"
        BorderBrush="Red"
        Width="10" Height="10"
        />
    <TextBlock
        Text="Add"
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        />
</Grid>
5
задан Clayton Hughes 10 April 2009 в 18:33
поделиться

3 ответа

There's nothing built into .NET that will do the search for you, so you're going to need to read in the file chunk by chunk and scan for what you want to find.

You can speed up the search in two ways.

Firstly, use bufferred IO and transfer large chunks at a time - don't read byte by byte, read 64KB, 256KB or 1MB chunks.

Secondly, don't do a linear scan for the piece you want - check out the Boyer-Moore (wikipedia link) algorithm for string searches - you can apply this to searching for the DWARF information you want.

7
ответ дан 14 December 2019 в 01:16
поделиться

Я думаю, вам придется сделать это самостоятельно, BinaryReader не был предназначен для поиска текста в двоичном файле. Однако вам следует помнить о кодировке текста, которую вы используете при поиске.

1
ответ дан 14 December 2019 в 01:16
поделиться

Должна быть библиотека DWARF C, с которой вы могли бы скомпилировать и использовать взаимодействие? Я немного искал и нашел этот . Если оттуда библиотека может быть скомпилирована в DLL на Windows (я полагаю, вы используете Windows), то вы можете использовать System.Runtime.InteropServices для взаимодействия с DLL и извлечения оттуда вашей информации.

Возможно?

1
ответ дан 14 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: