|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 q/ p1 M9 C. D2 `/ I% A8 N
3 C5 F: ?' {. U
6 s( _* t: ~& Y) kNX二次开发源码分享:封装一个函数--将ufun的链表转化成数组
5 `: s4 Q0 ~: G& F1 P' C, f- ]2 S( r8 O7 h$ w
6 V- E# F! T0 s3 v! }3 ~, a/ W+ H' ^" Dstatic int allocate_memory(unsigned int nbytes, void **where)- `9 k; N- m, `4 G; a% e& F1 d2 |
{' i, q9 u' U, P7 k' C; Z3 _8 T7 }
int
6 H2 y. A p# a" N( [1 A. O resp;* T- l) M2 T0 G$ Z$ W$ f; J$ q
5 L" o+ L9 R' M0 {& l. D' J) | *where = UF_allocate_memory(nbytes, &resp);0 c: i, j$ P, H+ `
) E4 H, H+ x/ Z' Y
return resp;! L* h" b& X8 s( T; q9 |+ o
}" T0 d, q' g o* K9 u4 V& W) T5 v
, N. D& }3 Z3 [" H6 J+ ]5 i& i
static int make_an_array(uf_list_p_t *object_list, tag_t **objects)4 |& z' d" ~$ ?4 j/ `( [
{- I3 y4 m ]% r6 m" U
int1 U5 Q) H8 B$ G& S
ii,
2 N& u: |% _& f8 W8 a" Z, L1 L# M n;
; R7 w$ c2 \! x% {5 x4 M uf_list_p_t" C) I' C% _. ?) B: Z; }6 |! H
temp;/ r7 z9 h! d0 v- c
& s; a* K7 @6 j# F* j
UF_CALL(UF_MODL_ask_list_count(*object_list, &n));) J. Z) \) o7 e" q2 H
5 n' \' A' y2 w2 _& H! w3 U% ` UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));$ q8 O3 t- b! K1 Q7 L$ p
1 T, g# M: F8 F% M: O for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
Y' }; O& ]7 D. q' o* r# h (*objects)[ii] = temp->eid;, ^4 C! z. X* j0 n2 l# D: k. B
6 u! o4 [2 w$ i, t6 C, d/ { UF_CALL(UF_MODL_delete_list(object_list));
1 K+ f: @$ O5 e0 A) x0 {
0 k7 d- J2 l7 w2 p return n;+ D6 J7 M6 j. L- W: j! }: c! s- t. Q
}; Y, t2 _4 A8 k: Z2 ?2 A0 T" F& i
& M. W6 Y/ G0 |
5 U) m+ |# y! O, t7 v Q2 K3 p) n |
|