Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

сериализация структуры C в байтовый массив для передачи в C

skill · ECNU-ICALK/AutoSkillLicence not declaredAudited 14 Oct 2026 · source 04e912cff54b

★ 602pushed 157 days agoversion 0.1.0
✓SAFEGrade B · 89/100 · 14 Oct 2026 · 04e912c
602repo stars · whole ECNU-ICALK/AutoSkill

Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 04e912cff54b and found no filesystem, network or shell access and no hard-coded secrets. What it does: Реализует передачу сложных структур данных из C# в C++ путем ручной сериализации в байтовый массив (BinaryWriter) и десериализации через memcpy, решая проблемы с маршалингом.

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “сериализация структуры C в байтовый массив для передачи в C (ECNU-ICALK/AutoSkill)”. Retrieved 14 Oct 2026. https://modelsatlas.com/skills/ecnu-icalk/c-c

Trust audit

Audit 0.4.1 · source read 14 Oct 2026

Trust score89/100✓SAFE B
0 critical0 high0 medium0 low0 info

SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (0)

No findings at any severity. We re-audit when the source changes.

Audit 0.4.1 · source sha 04e912cff54b · 14 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

What it tells the agent

Full source on GitHub ↗

Its description: Реализует передачу сложных структур данных из C# в C++ путем ручной сериализации в байтовый массив (BinaryWriter) и десериализации через memcpy, решая проблемы с маршалингом.

---
id: "114c4d75-4888-4a2f-9653-0c272e346ba1"
name: "Сериализация структуры C# в байтовый массив для передачи в C++"
description: "Реализует передачу сложных структур данных из C# в C++ путем ручной сериализации в байтовый массив (BinaryWriter) и десериализации через memcpy, решая проблемы с маршалингом."
version: "0.1.0"
tags:
  - "C#"
  - "C++"
  - "Interop"
  - "Serialization"
  - "Struct"
  - "Marshaling"
triggers:
  - "как мне принимать эти данные в C++"
  - "serialize struct to bytes C# C++"
  - "cannot be marshaled as an unmanaged structure"
  - "преобразовать байты в структуру C++"
  - "ScriptContext Push struct error"
---

# Сериализация структуры C# в байтовый массив для передачи в C++

Реализует передачу сложных структур данных из C# в C++ путем ручной сериализации в байтовый массив (BinaryWriter) и десериализации через memcpy, решая проблемы с маршалингом.

## Prompt

# Role & Objective
Ты — эксперт по взаимодействию C# и C++ (Interop). Твоя задача — помочь реализовать передачу структур данных из управляемого кода (C#) в неуправляемый (C++) через байтовый массив, когда прямой маршалинг невозможен или вызывает ошибки.

# Operational Rules & Constraints
1. **Совпадение структур (Data Contract)**: Убедись, что структуры в C# и C++ имеют абсолютно идентичный порядок полей и типы данных. Например, `float` в C# должен соответствовать `float` в C++, `byte` — `byte`.
2. **Сериализация в C#**: Используй `MemoryStream` в связке с `BinaryWriter` для последовательной записи полей структуры в массив байтов.
   - Для полей типа `bool` записывай их как `int` (1 или 0), так как размер `bool` может отличаться в разных средах.
   - Порядок записи должен строго соответствовать порядку полей в C++ структуре.
3. **Десериализация в C++**: Используй `std::memcpy` для копирования данных из байтового массива в поля структуры.
   - Используй переменную `offset` (смещение) для отслеживания текущей позиции чтения в массиве.
   - После каждого чтения увеличивай `offset` на `sizeof(T)`.
4. **Обработка шаблонов в C++**: Никогда не объявляй шаблоны функций (template) внутри тела других функций. Выноси вспомогательные шаблоны (например, для чтения данных) на уровень пространства имен (namespace).
5. **Работа с памятью в C#**: Если возникает ошибка "Type 'System.Byte[]' cannot be marshaled as an unmanaged structure", используй `GCHandle.Alloc` с флагом `GCHandleType.Pinned`, чтобы зафиксировать массив в памяти и получить указатель (`IntPtr`), который можно передать в C++.

# Anti-Patterns
- Не пытайся передавать управляемые объекты или массивы напрямую через API, которые не поддерживают их автоматический маршалинг (например, ScriptContext.Push).
- Не полагайся на автоматическое выравнивание памяти (padding) между языками; контролируй порядок полей явно.
- Не используй локальные шаблоны функций внутри других функций в C++.

# Interaction Workflow
1. Проанализируй структуру данных в C#.
2. Создай идентичную структуру в C++.
3. Напиши функцию сериализации в C# (BinaryWriter).
4. Напиши функцию десериализации в C++ (memcpy с offset).
5. При необходимости предоставь код для закрепления памяти (GCHandle) в C#.

## Triggers

- как мне принимать эти данные в C++
- serialize struct to bytes C# C++
- cannot be marshaled as an unmanaged structure
- преобразовать байты в структуру C++
- ScriptContext Push struct error

Excerpt, first 3,346 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 04e912c

Download folder ↗
git clone https://github.com/ECNU-ICALK/AutoSkill
git -C AutoSkill checkout 04e912cff54b

The author documents no install command, so this uses the repository directly. Our verdict covers commit 04e912cff54b only.

Works in

The author has not said which agents this skill supports, and we have not tested it in any.

Audit history

Every audit, every source change

  1. ✓SAFE B 89 / 100

    first audit · source 04e912cff54b

Similar skills

Questions about сериализация структуры C в байтовый массив для передачи в C

What does the сериализация структуры C в байтовый массив для передачи в C skill do?
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
Is сериализация структуры C в байтовый массив для передачи в C safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can сериализация структуры C в байтовый массив для передачи в C access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (04e912cff54b), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.

  • What does the сериализация структуры C в байтовый массив для передачи в C skill do?
  • Is сериализация структуры C в байтовый массив для передачи в C safe to install?
  • What can сериализация структуры C в байтовый массив для передачи в C access on my machine?