|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' n( D) C s; x% w% [4 T9 X
( o0 b0 p' t9 `* m) i2 f+ D/ a2 @% w8 H N0 V( i. X
NX二次开发源码分享:封装一个函数--将ufun的链表转化成数组# u3 Z3 C9 S9 o' M
' \- w1 p! E! x5 p: r: p! Z4 q) K5 ?9 q. a
static int allocate_memory(unsigned int nbytes, void **where)
' A' L; I/ H$ q9 e, K& A7 @{
3 q& j0 d x% j, }& s- F/ U/ N int' P) y, f7 \4 Q9 d9 a6 c3 S8 c
resp;
$ k! T0 N. z3 _ [# n9 ?- N4 \
0 D2 H; f A( | *where = UF_allocate_memory(nbytes, &resp);
7 M/ c I- p" G/ F' k9 s' T( g* I+ y5 C# e+ e" n# Q0 N
return resp;! _8 i: d A7 I# k
}
4 }/ x4 @3 {. l7 Z1 Z/ a' v2 _- q' o* @ i" b& _
static int make_an_array(uf_list_p_t *object_list, tag_t **objects)
& _2 @4 t) d" r# v* ^( _{0 q7 P- D/ |9 ]* V( l/ e8 Q
int
! `" m) {) a7 ^2 w% s ii,
& E: J7 Q5 ^& Q& ] n;6 i. y3 u2 V; p/ W# ^: K
uf_list_p_t2 ~. ^! X8 Z4 |) c# x$ F
temp;' @! T2 T( k! Y: `
3 k: p8 l" T, {' R2 Z5 u; Z# o
UF_CALL(UF_MODL_ask_list_count(*object_list, &n));
2 z+ a) G6 N) y4 W( `6 k! |3 ^* s
& I( j9 i% {" `+ A% x5 @ UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects)); ~9 e2 \0 J0 }5 r- S9 Z
2 [& I9 l \' S; u* @ for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
, q0 V" [/ ]5 G ^. k (*objects)[ii] = temp->eid;4 h$ g p9 Y) l" E7 @* a# ^" N
7 E/ ~. U' T5 h) q E; G3 x
UF_CALL(UF_MODL_delete_list(object_list));
8 i3 H `9 v7 Q. B5 D+ k, b& y( e% ^: d
return n;$ g/ j9 Z) a& i. E4 c% ~2 G
}) y' q K: _& Y4 _- v. n \
& g0 C4 r: V3 ~
6 p+ I! `# c$ T0 [0 m, s
|
|