C++ ASN1C数字解码器

C++ ASN1C数字解码器,c++,visual-c++,asn.1,der,C++,Visual C++,Asn.1,Der,我试图创建一个简单的DER解码器控制台应用程序,它只输出给定数据结构的内容(以DER格式编码,如) 运行此示例时遇到问题: 我正试图用MSVC编译它,但我在#include和#include方面遇到了问题。类型ssize\u t也未定义 以下是我目前所做的: 1.首先,我将此代码粘贴到textfield中: RectangleModule1 DEFINITIONS ::= BEGIN Rectangle ::= SEQUENCE { height INTEGER, width

我试图创建一个简单的DER解码器控制台应用程序,它只输出给定数据结构的内容(以DER格式编码,如

运行此示例时遇到问题:

我正试图用MSVC编译它,但我在
#include
#include
方面遇到了问题。类型
ssize\u t
也未定义

以下是我目前所做的:
1.首先,我将此代码粘贴到textfield中:

RectangleModule1 DEFINITIONS ::=
BEGIN

Rectangle ::= SEQUENCE {
    height  INTEGER,
    width   INTEGER
}

END
二,。我选择了“使用本机类型”和“按支持生成”选项。
3.它“编译好了”
,所以我下载了输出.tgz
4.在Visual Studio 2010中创建了空项目,从该.tgz
5.将附加包含目录设置为ASN1C的“骨架”目录
6.我试图建造它

我错过了什么


任何帮助都将不胜感激

请确保您拥有正确的ASN定义文件。然后转到链接


在给定窗口中粘贴ASN定义。按下“继续ASN.1编译”按钮。如果出现编译错误,请更正这些错误。编译成功后,它将为解码器生成代码。试试它的优点。

问题是,必须修改ASN1C生成的代码,才能使用MSVC编译它,并在Windows环境中使用它

  • #include
    应替换为
    #define ssize\u t ssize\u t
  • #include
    应替换为
    #include
  • 关键字
    inline
    应从
    asn\u internal.h

  • 之后,一切正常;)

    我过去成功地使用过ASN1C。也许在寻找替代方案之前最好集中精力使其发挥作用?试着看看yaz项目的yaz asncomp和ODR模块www.indexdata。com@trojanfoe:您在Linux上成功地使用了ASN1C,我想是通过使用GCC…@LihO是的,没错。我以为它在MSVC下也能正常工作。@trojanfoe:经过几次修改后,我也能在MSVC下工作;)无论如何,在VS2005中,它为我工作,没有任何修改。