Languages: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
Для функций без секций данных в существующих программах используйте -fdyncode-hosted. Нужен -fdyncode-keep-obj: CFI/SEH компилятора сохраняются в объекте, но исключаются из плоского кода. Одна секция кода и вход с нулевым смещением сохраняют связь с записями развёртки.
Режим отключает неявное преобразование syscall/PEB, heap arena и строкового runtime. Изменяемые/TLS-глобальные переменные и неразрешённые вызовы отклоняются. Данные и callback-указатели передаются параметрами. Автономный DynCode не меняется.
Перевод C++ core принимает --target и связывает C23, карту и манифест с этой ABI. cpp-core-v2 поддерживает документированное подмножество C++17 с шаблонами и обычными конструкторами/деструкторами. Исключения C++, RTTI, виртуальные вызовы и очистка при внешних исключениях не поддерживаются.
neverc translate --from cpp replacement.cpp --profile cpp-core-v2 \
--target aarch64-unknown-linux-gnu -o replacement.nc -- -std=c++17
neverc --no-default-config --target=aarch64-unknown-linux-gnu \
-fdyncode -fdyncode-hosted -fdyncode-entry=replacement \
-fdyncode-keep-obj=replacement.o -fdyncode-report=replacement.audit.json \
-o replacement.bin replacement.ncОтчёт содержит execution_profile="hosted-v1", keep_unwind=true, target_triple. input_digest хеширует объект, output_digest — итоговый релокированный и проверенный код. Установщик проверяет оба хеша, код и расположение входа и регистрирует настоящие записи развёртки.