小编sch*_*_76的帖子

asn1c:为什么我需要释放这个结构的这个成员?

目前我尝试了解asn1c编译器.我现在通过PDF https://lionet.info/asn1c/asn1c-usage.pdf阅读.在2.1.7节中,释放目标结构就是这样一个例子:

/*
1. Rectangle_t is defined within my_figure
*/
struct my_figure {
    Rectangle_t rect;
} *mf = ...;

/*
 * Freeing the Rectangle_t* without freeing the mf->rect area.
*/
asn_DEF_Rectangle.free_struct( &asn_DEF_Rectangle, &mf->rect,   1 /* !free */ );
Run Code Online (Sandbox Code Playgroud)

我会看到rect其中一部分struct my_figure嵌入在同一块内存中.那么,为什么我需要用该函数释放该结构?当它没有释放内存的时候,这个功能的用途是什么?

Rectangle_t的定义如下:

RectangleTest DEFINITIONS ::= BEGIN

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

END
Run Code Online (Sandbox Code Playgroud)

生成的标头

/*
 * Generated by asn1c-0.9.24 (http://lionet.info/asn1c)
 * From ASN.1 module "RectangleTest"
 *  found in "../Rectangle.asn1" …
Run Code Online (Sandbox Code Playgroud)

c struct asn.1

0
推荐指数
1
解决办法
286
查看次数

标签 统计

asn.1 ×1

c ×1

struct ×1