Objective Systems, Inc.  
Домой
Об ASN.1
Продукты
  ASN1C
  ASN.1 в C/C++
  ASN.1 в Java
  ASN1VE
  XBinder™
  ASN.1 API
  FAQ
  Скачать
Web Tools
Open Source
Документы
Услуги
Ресурсы
Продавцы
Клиенты
Карьера
О нас
Пишите нам
Objective Systems, Inc.
Objective Systems, Inc.
Реальный мир ASN.1 и XML решений

Обзор ASN1C

ASN1C - это ASN.1 компилятор. Термин "компилятор" в данном контексте может вводить в заблуждение, ибо никаких двоичных объектов он не создает. ASN.1 компилятор транслирует исходный текст ASN.1 в соответствующий исходный текст на языке программирования С, С++, C# или Java. Возможно, более корректным термином было бы "ASN.1 транслятор".

Производимый компилятором исходный текст состоит из определений типов и кодирующих/декодирующих функций (или методов). Это дает достаточный программный интерфейс (API) для работы с описаниями сообщений, содержащихся в ASN.1 спецификации.

Помимо компилятора, в пакет поставки входит также библиотека времени выполнения. Эта библиотека содержит общие функции для кодирования/декодирования примитивных типов (BOOLEAN, INTEGER, и т.д.). ASN1C компилятор генерирует серии вызовов этих функций, чтобы выполнить кодирование или декодирование более сложных типов.

ASN.1 в C или C++

ASN.1 в C или C++

ASN1C может генерировать C или С++ исходный код для заданной ASN.1 спецификации. Обе C и C++ версии используют общую базовую библиотеку времени выполнения, состоящую из примитивных C функций для кодирования и декодирования базовых типов. Генерированный код выполнен преимущественно на C и предоставляет полный набор С API функций для всех описанных ASN.1 типов.

Генерация кода для C++ добавляет набор классов-"оберток", которые скрывают детали вызовов примитивных функций. Эти классы также предоставляют дополнительные сервисы, специфичные для С++. Например, автоматическая инициализация переменных с использованием конструкторов, упрощенные присвоение и проверка данных через переопределенные операторы, виртуальные функции обратных вызовов (virtual callback) для механизма перехвата событий.

Нажмите на одну из следующих ссылок для дополнительной информации:

ASN.1 в Java или C#

ASN.1 в Java

ASN1C компилятор также может генерировать Java или C# код. Сгенерированный код Java состоит из набора Java-файлов - один файл на каждый сложный тип, описанный в спецификации. Каждый файл содержит Ява-класс и состоит из следующих компонентов (как минимум):

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

Также существует библиотека времени выполнения для Java, состоящая из набора классов для кодирования/декодирования примитивных типов. Например, Asn1Integer класс кодирует или декодирует переменную типа INTEGER. Компилятор расширяет эти базовые классы путем наследования или собирает серии этих низкоуровневых объектов для формирования составных типов (например, SEQUENCE).

Генерация C# кода доступна с версии 5.7. Генерация кода подобна генерации Java кода.

Доступны пакеты разработчика встраиваемых приложений, которые поддерживают Java MicroEdition (J2ME) или C# compact edition.  Для дополнительной информации о Java или C# компиляторе, нажмите на следующие ссылки:

Java and all Java-related products are registered Trademarks of Sun Microsystems


Домой  |  Об ASN.1  |  Продукты  |  Услуги  |  Ресурсы
Продавцы  |  Клиенты  |  Карьера  |  О нас  |  Пишите нам

Copyright © 2001-2006 Objective Systems, Inc.
All Rights Reserved.