Files
progcode/web/public/assets/editorial/2027/d-lessons-2027-evidence-handoff-loop.svg
T
2026-07-31 22:26:56 +03:00

13 lines
2.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 720" role="img" aria-labelledby="title desc">
<title id="title">Цикл проверки D и C ABI</title>
<desc id="desc">Процесс проверяет размер пакета, порядок байтов, обязательные поля и код возврата до вызова C и после него.</desc>
<rect width="1200" height="720" fill="#f7fafc"/><style>text{font-family:Arial,sans-serif;fill:#172033}.head{font-size:30px;font-weight:700}.label{font-size:20px;font-weight:700}.body{font-size:17px}.box{fill:#fff;stroke:#3976a8;stroke-width:3}.good{fill:#edf8f1;stroke:#2d8a59;stroke-width:3}.warn{fill:#fff0f0;stroke:#bd3f3f;stroke-width:3}.line{stroke:#5d7085;stroke-width:3;fill:none;marker-end:url(#a)}</style><defs><marker id="a" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto"><path d="M0 0L0 6L9 3z" fill="#5d7085"/></marker></defs>
<text x="55" y="55" class="head">FFI-проверка: пакет должен совпасть с ABI</text>
<rect x="55" y="170" width="245" height="130" rx="12" class="box"/><text x="82" y="210" class="label">Пакет</text><text x="82" y="242" class="body">byte length</text><text x="82" y="268" class="body">версия и поля</text>
<rect x="375" y="170" width="245" height="130" rx="12" class="box"/><text x="402" y="210" class="label">Layout</text><text x="402" y="242" class="body">offset, alignment</text><text x="402" y="268" class="body">endianness</text>
<rect x="690" y="170" width="245" height="130" rx="12" class="good"/><text x="717" y="210" class="label">C-вызов</text><text x="717" y="242" class="body">extern(C)</text><text x="717" y="268" class="body">код возврата</text>
<rect x="955" y="440" width="190" height="120" rx="12" class="good"/><text x="980" y="480" class="label">Результат</text><text x="980" y="512" class="body">read output</text><text x="980" y="538" class="body">по версии</text>
<rect x="365" y="450" width="385" height="115" rx="12" class="warn"/><text x="392" y="490" class="label" fill="#991b1b">СТОП</text><text x="392" y="522" class="body" fill="#991b1b">размер, байты или поле</text><text x="392" y="548" class="body" fill="#991b1b">не совпали с header</text>
<path d="M300 235H375M620 235H690M935 300V440M500 300V450" class="line"/>
</svg>