gpt4 book ai didi

c - 使用 ASN.1 编码数据

转载 作者:行者123 更新时间:2023-11-30 17:33:56 25 4
gpt4 key购买 nike

我尝试按照此示例重新添加数据并将其发送到服务器。

CertainStructure_t *cs = 0;
ber_decode(0, &asn_DEF_CertainStructure, &cs, buffer, buffer_length);
cs->val1 = 123; /* Modify the contents */
der_encode(&asn_DEF_CertainStructure, cs, write_handle, 0);

这段代码是我写的

Message01_t *a;
a->number = 123;
der_encode(&Message01, a, write_handle, 0);

Message01的描述是

Message01 ::= SEQUENCE
{
number INTEGER -- inital integer
}

我收到这个错误

error: incompatible types in assignment
error: ‘Message01’ undeclared (first use in this function)

最佳答案

假设这是在线 ASN.1 编译器 http://lionet.info/asn1c/asn1c.cgi

只是想让它编译......并不真正知道我在做什么:

以下刚刚编译:

#include <Message01.h> 

int write_handle(void const*, unsigned long, void*) {
// no idea what this is
return 0;
}

int main() {
Message01_t *a=new Message01_t(); // Must be created/allocated/whatever
a->number = 123;
der_encode(&asn_DEF_Message01, a, write_handle, 0);
}

注释:

  1. 正如您的示例所示,您必须使用 &asn_DEF_MyTypeName。似乎是生成的静态变量,带有 ASN.1 类型的描述符。
  2. 未收到分配错误。数字很​​长...所以应该没问题。
  3. 必须为 Message01_t *a 变量分配一些内容。我使用过 C++,选择你的...或者在 der_encode 调用中使用局部变量和 &a。

关于c - 使用 ASN.1 编码数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23583590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com