АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

icheck - Интернет в облаке

Запустите icheck в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда icheck, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


icheck - Средство проверки ABI / API интерфейса C

СИНТАКСИС


я проверяю - канонизировать [[- базовая линия ФАЙЛОВ] ...] [ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ] [GCC_OPTIONS] [-] файлов

я проверяю --сравнивать [ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ] старый_файл новый файл

ОПИСАНИЕ


Инструмент для статической проверки интерфейсов C на предмет изменений API и ABI. Все изменения в типе
объявления, которые могут вызвать изменения ABI, должны быть обнаружены вместе с большинством изменений API.

icheck предназначен для использования с библиотеками как метод предотвращения дрейфа ABI.

КОМАНДЫ


Сократите набор исходных файлов до файла канонического интерфейса с помощью --canonify, затем сравните
два таких интерфейсных файла с --compare. Если между ними есть изменения интерфейса,
icheck опишет изменения и потерпит неудачу.

- канонизировать [[- базовая линия ФАЙЛОВ] ...] [ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ] [GCC_OPTIONS] [-] файлов

Канонизировать файлы исходного кода (обычно .h-заголовки) для последующего сравнения с
--сравнивать. Обычно используется с -o возможность сохранить сводку в файл.

--сравнивать [ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ] старый_файл новый файл

Читает два файла канонического интерфейса, сгенерированные с помощью - канонизировать и сравнивает
структура исходного кода к изменениям в публичном интерфейсе приложения
(интерфейс разработчика или API) и двоичный интерфейс приложения (ABI), используемый для
ссылка на другие программы или библиотеки.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Я ПРОВЕРЯЮ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
-o, --выход ФАЙЛОВ

Выводить вывод в ФАЙЛ, а не в стандартный вывод.

--отлаживать N

Дамп отладочной информации.

--Только ВЕЩЬ

Только обработайте данную ВЕЩЬ.

- пропустить ФАЙЛОВ

Пропустить ненужные вещи из ФАЙЛОВ.

- пропустить-от-ре RegExp

Избегайте ненужных вещей из файлов, соответствующих регулярному выражению.

- только от ФАЙЛОВ

Только брать вещи из ФАЙЛОВ.

--только-от-ре RegExp

Берите вещи только из файлов, соответствующих регулярному выражению.

GCC_OPTIONS

GCC_OPTIONS передаются в gcc -E

ПОМОГИТЕ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
--Помогите
Показать синопсис справки для я проверяю.

ПРИМЕРЫ


Все исходные файлы предварительно обрабатываются с помощью gcc, поэтому canonify нужна такая же включаемая информация.
в качестве исходного кода - следуйте синтаксису из Makefile, чтобы включить параметры -I в CPP (или
GCC), чтобы можно было разместить все необходимые заголовки. я проверяю прервется, если потребуется
заголовки не могут быть найдены. Источник должен быть компилируемым; icheck не может обрабатывать файлы, которые
не может быть скомпилирован напрямую. Если в заголовке отсутствуют операторы #include или иначе
требует особого использования, тогда его нельзя напрямую обработать с помощью icheck.
Вместо этого напишите заглушку C-файла, которая настраивает все соответствующим образом, а затем # включает
заголовка.

я проверяю - канонизировать -o ~ / icheck / oldversion -I / usr / include / foo-2.0 /usr/src/бар/src/foobar.h

Подготовьте текстовое резюме файла foobar.h и всех файлов, которые он включает. Резюме
написано в ~ / icheck / oldversion. Повторите для /usr/src/bar1/src/foobar.h - тот же файл
в новом исходном каталоге, вывод в новый файл, например ~ / icheck / новая версия.

я проверяю --сравнивать -o ~ / icheck / results.txt ~ / icheck / oldversion ~ / icheck / новая версия

Записывает отчет о сравнении двух сводных файлов. В отчете указаны все
изменения в ABI и / или API, обнаруженные во время сравнения.

я проверяю - канонизировать -o debian / icheck.canonical -Idebian / foo-dev / usr / include debian / foo-
dev / usr / include / foobar.h

я проверяю --сравнивать debian / icheck.manifest debian / icheck.canonical

Эти два заявления, включенные в debian / rules файл, вызовет сборку пакета
терпят неудачу, если API или ABI изменились неожиданным образом, где icheck.manifest - это копия
ожидаемый интерфейс, входящий в комплект.

Обратите внимание, что аргументы для --compare сами по себе являются действительными файлами C, которые предварительно обрабатываются,
поэтому icheck.manifest может содержать логику препроцессора C. Это может быть полезно, когда пакет
экспортирует разные интерфейсы в зависимости от архитектуры хоста. В этом случае вы не можете
замените его новой копией icheck.canonical, когда интерфейс изменится и вам потребуется
обновить манифест. Вместо того, чтобы обновлять весь манифест вручную, положите руку-
письменные описания интерфейсов в одном файле (icheck.static-манифест), а затем используйте:

я проверяю - канонизировать - базовая линия debian / icheck.static-manifest -o debian / icheck.dynamic-
проявлять

Наконец, создайте icheck.manifest, содержащий:
#include "icheck.static-manifest"
#include "icheck.dynamic-manifest"
Это позволяет обновлять некоторые части манифеста вручную, но при этом автоматически.
генерируя остальное.

ВЫВОД


icheck генерирует подробное описание всех возможных изменений API или ABI в зависимости от типа
Информация. Он не исследует фактический программный код, поэтому возможно, что
некоторые изменения типов, которые он обнаруживает, не являются фактическими изменениями ABI или API. Однако обычно это
происходит только тогда, когда программный код был написан для него явно. Если сомневаетесь, предположите, что это
изменилось.

В конце icheck предоставляет сводку изменений. Обратите внимание, что здесь указаны направления
в зависимости от порядка аргументов --compare: старый интерфейс должен быть первым,
или направления будут наоборот. Значения различных терминов следующие:
следующим образом:

ABI ABI совместим, если что-то скомпилировано с одной версией
интерфейс будет работать при запуске с другой версией.

API API совместим, если что-то скомпилировано для одной версии
интерфейс может быть скомпилирован с другим.

совместимость с будущими версиями
Интерфейс совместим с предыдущими версиями, если что-то скомпилировано против старого
версия будет работать с новой. Это важная функция для игнорирован
изменений.

обратная совместимость
Интерфейс обратно совместим, если что-то скомпилировано с новым
версия будет работать со старой. Это важная функция для шлибы
версия изменения. Если вы не собираете пакеты Debian, вероятно, вы этого не сделаете.
заботиться об изменениях, которые не имеют обратной совместимости.

Используйте icheck онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    libjpeg-турбо
    libjpeg-турбо
    libjpeg-turbo - это кодек изображений JPEG
    который использует инструкции SIMD (MMX, SSE2,
    NEON, AltiVec) для ускорения базового уровня
    Сжатие и распаковка JPEG на
    x86, x8 ...
    Скачать libjpeg-turbo
  • 2
    Xtreme Download Manager
    Xtreme Download Manager
    У проекта теперь новый дом:
    https://xtremedownloadmanager.com/ For
    Разработчики:
    https://github.com/subhra74/xdm Xtreme
    Менеджер загрузок — это мощный инструмент для...
    Скачать Xtreme Download Manager
  • 3
    ТТГО VGA32 Лайт
    ТТГО VGA32 Лайт
    Особенности: низкое разрешение 4:3 и 16:9.
    Выход VGAКлавиатура и мышь PS/2
    Пользовательский интерфейс на основе inputText (TUI)
    с диалоговым менеджеромЧастично Unicode
    поддержкаSlave dis...
    Скачать TTGO VGA32 Lite
  • 4
    Загрузчик Clover EFI
    Загрузчик Clover EFI
    Проект переехал в
    https://github.com/CloverHackyColor/CloverBootloader..
    Особенности: загрузка macOS, Windows и Linux.
    в UEFI или устаревшем режиме на Mac или ПК с
    УЭ...
    Скачать загрузчик Clover EFI
  • 5
    UnitedRPMS
    UnitedRPMS
    Присоединяйтесь к нам в Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Включите репозиторий URPMS в вашем
    система -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Скачать объединенные рпмс
  • 6
    Boost C ++ библиотеки
    Boost C ++ библиотеки
    Boost предоставляет бесплатное портативное
    рецензируемые библиотеки C++.
    упор делается на портативные библиотеки, которые
    хорошо работать со стандартной библиотекой C++.
    Смотрите http://www.bo...
    Скачать библиотеки Boost C++
  • Больше »

Команды Linux

Ad