|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ w9 L8 [6 l, \* F0 C
" j5 s o v2 G# g9 I* A
) Z+ U8 M- k' ^/ j, a* fNX二次开发源码分享:封装一个函数--将ufun的链表转化成数组
( L3 ]4 X$ _/ B9 a$ C7 H, X
) Q3 w' d( R) u1 m! S* Z) c6 m( E- ^; ~' N6 Y
static int allocate_memory(unsigned int nbytes, void **where)3 V& O/ d6 L1 W o, J3 t
{
# M4 s: E8 b1 B2 m+ ~9 D int: X" @6 K, R# U& w6 N9 J4 L
resp;: V" L8 ^+ H6 b
7 k9 p) Q3 j4 j4 ~) t *where = UF_allocate_memory(nbytes, &resp);/ x* F8 F) R, C. P: g: G; x- t
+ {9 M5 E( g% R( f* L8 Z! Z return resp;; c, \+ P. D" T4 e n* l
}
' D: w1 Y+ d/ @0 C* X# ^; y3 f! y1 c5 D+ a
static int make_an_array(uf_list_p_t *object_list, tag_t **objects)
9 G" J9 y) ~4 I{5 @2 L& W+ N2 h, X$ t: \
int9 k0 ^3 e5 K! @
ii,
' }$ k7 [" m: h$ @ M9 E2 W n;0 Y3 S* [1 ]2 Y% s4 k" k
uf_list_p_t
m. d2 k4 h. v9 ?6 r temp;
3 j! t! @3 ?) \, H1 C0 [( U9 Z
5 H) o! _ d3 ]" t UF_CALL(UF_MODL_ask_list_count(*object_list, &n));
( n2 f' x8 R+ b" k7 ^% b
5 U. P( c, I% }( Q5 q l UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));( j8 r- p3 u2 L6 b
9 {2 D V) a. g- |; j
for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
e3 T1 f2 J/ L( ^! z (*objects)[ii] = temp->eid;
. n; W' ]/ |% T* ]# G, o' u. }8 @
7 {# P6 m. K6 J: y/ n5 u& r* I UF_CALL(UF_MODL_delete_list(object_list));& k; P+ Z2 ^4 P, O; E% [" {
8 E2 Y4 T+ X4 ~; b. D. y7 \ return n;
: x% U3 l' H c( [6 U1 g* L}
- q, w6 Z+ P# ?1 h G
* M \4 [9 _% M* N X
; B' |7 K) [3 g8 X |
|