ASN1C ASN.1 编译器

ASN1C ASN.1编译器将ASN.1和/或XML schema (XSD)源规范转换成C、C++、C#或Java源代码。开发人员可以使用此代码将结构/对象转换为已完成的ASN.1消息,并使用任何ITU-T/ISO编码规则(BER、CER、DER、PER或XER),以及ISO/IEEE医疗设备编码规则(MDER)和NTCIP八隅体编码规则(OER)将其转换为或转换为已完成的ASN.1消息。ASN1C还包括将XSD规范转换为ASN.1规范的工具,反之亦然。
生成的ASN1C代码由类型定义和编码/解码函数(或方法)组成,这些函数提供了一个完整的应用程序编程接口(API),用于处理ASN.1规范中包含的消息定义。

除了ASN.1编译器之外,程序包中还包含一个公共编码/解码函数的运行时库。此库包含用于编码和解码ASN.1基元(布尔值、整数等)的例程。ASN1C ASN.1编译器汇编对这些函数的一系列调用,以完成对更复杂消息类型的编码或解码。

程序员要使编码器/解码器启动并运行所需要做的就是:
1. 运行ASN1C为给定的ASN.1或XSD规格生成代码
2. 开发一个应用程序来调用生成代码中的函数/方法
3. 编译/连接应用程序、生成的代码和运行时库
为了帮助处理第2和第3项,编译器还能够生成示例阅读器和编写器程序,以及生成文件构建所有生成的代码。
  • ASN.1 to C/C++

    C和C++版本都使用由一组低级基本C函数组成的公共基本运行时库,对基本类型进行编码和解码。代码生成主要在C语言中完成,并为所有定义的ASN.1类型提供了一套完整的C API函数。

    C++代码生成功能添加了一组类“包装器”,用于隐藏调用编码/解码函数时的大部分细节。这些包装器提供了特定于C++的附加服务。其中包括通过构造函数自动初始化生成类型的变量,通过操作符重载更容易地分配和测试数据,以及通过事件处理机制的虚拟回调接口。
  • 从ASN.1到JavaC#

    生成的Java代码由一系列Java源文件组成——一个用于ASN.1规格中定义的每个产品(类型)。每个Java文件(至少)包含以下项目:
    • 一个或多个公共成员数据变量,用于保存生成类型的数据。
    • 初始化变量的构造函数。
    • 一种编码方法。
    • 一个解码方法。
    • 将目标内容打印到给定输出流的打印方法。
    还有一个用于Java的运行时库。它由一系列用于编码和解码ASN.1基本类型的类组成。例如,Asn1Integer类将对ASN.1 INTEGER类型的变量进行编码或解码。编译器将扩展这些基类,以形成直接从基类型派生的更高级别的类型,或者组装一系列这些较低级别的对象来形成构造的类型(例如,序列)。

    C#代码的生成与上面描述的Java生成非常相似。为ASN.1规范中定义的每个产品生成一个单独的C#类。它包含使用任何ASN.1编码规则对类实例进行编码和解码的构造函数和方法。

    可以使用Java或C#嵌入式开发工具包来支持Java MicroEdition (J2ME)或C# compact edition库。

    -更多- ASN1C编译器常见问题解答…
  • Eclipse 插件

    概述 ASN1C Eclipse插件允许在Eclipse IDE环境中,使用ASN1C编辑、语法检查和生成Java、C#或C/ C++代码。它与Java透视图集成的方式允许直接从ASN.1源代码创建Java项目。

    请注意,这个插件在Eclipse 4.6 (Neon)和更高版本中都是可用的。不支持早期版本的Eclipse。
    下载和安装 推荐的插件安装方法是通过我们的插件更新站点:https://www.obj-sys.com/eclipse。请您遵循以下步骤: 1. 选择Help ->安装新软件
    2. 输入“Work with”位置的更新站点:“https://www.obj.sys.com/eclipse”
    3.可用的插件应该出现在列表中
    4. 启用“ASN.1和XML解决方案”旁边的检查框,然后单击next
    5. 单击下一页中的Next
    6. 选择许可条款的接受,并在下一页中单击Finish
    7. 单击Yes重启Eclipse
    或者,可以将插件下载为.zip文件,然后安装。单击下面的链接下载该文件:
    ASN1C Eclipse插件.zip文件下载插件后,请按照以下步骤安装:
    1. 选择帮助->安装新软件
    2. 单击Add butto
    3.单击弹出的pag中的Archive按钮
    4. 找到下载的zip文件并选择O
    5. 启用“ASN.1和XML解决方案”旁边的复选框,然后单击Nex
    6. 在下一个pag中单击Next
    7. 选择许可条款的接受,并在下一个pag中单击Finish
    8. 单击Yes重启Eclipse
    开始使用插件 安装之后,必须设置ASN1C编译器可执行文件的路径: 1. 选择Windows ->首选项-> ASN1C编译器
    2. 在“编译器路径”框中,输入ASN1C编译器可执行文件的完整路径(或使用Browse)
    3.单击OK退出屏幕
    现在可以创建一个新项目。我们将使用ASN1C Java Employee程序作为示例。 1. 选择Windows ->首选项-> ASN1C编译器
    2. 点击“语言”下拉列表,选择“Java”作为应用程序语言
    3.点击“选择编码规则”下拉列表,选择“BER”选项
    4. 点击“选择要生成的函数类型”下拉列表,检查“Encode”和“Decode”选项
    5. 点击“基本选项”下拉列表,选择“生成示例阅读器程序”和“生成示例编写程序”选项
    6. 点击“Java options”下拉列表,选择“Output code to module name dirs (-dirs)”选项
    7. 单击OK退出preferences屏幕
    8. 选择文件->新->项目…
    9. 在“ASN1编译工具”下,选择“ASN1C编译器项目”,然后单击“下一步”
    10. 将项目名称设置为“Employee”,然后单击“Next”
    11.ASN.1文件现在可以使用“添加文件”按钮添加到项目中。单击此按钮,导航到ASN1C java/sample_ber/Employee目录,并选择Employee .asn。然后单击“Next”
    12. 在下一页中单击Next (Java设置)
    13.在最后一页(ASN1C编译器命令),选中“在finish上启动ASN.1编译器”选项,然后单击“finish”。ASN1C编译器现在应该尝试生成Java文件
如果您想购买此产品,请联系我们。