|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 w# [/ b$ N/ P( t
/ I; e6 X4 p" w6 J- O5 h1 T3 c% G, r7 f) z
NX二次开发源码分享:封装一个函数--将ufun的链表转化成数组
. z5 C9 W2 i. a7 C0 Z. [5 j! P9 v" ?0 M& U3 f
! `6 V( j# W7 ]' |static int allocate_memory(unsigned int nbytes, void **where)
2 Y: T: v; m" p# M0 Q$ @" r7 M( l{
3 y: b! H6 g0 z5 C# C, I int
& i& g9 N2 p: X# T: k* L1 n resp;4 C$ r& O7 t' J9 `
* U. U/ Q# ^6 h *where = UF_allocate_memory(nbytes, &resp);
* S( g% L+ D) u' r" c, s* \5 g I5 C) A1 Y- [! o
return resp;
. X3 d2 S) k* ?1 F}
. F: D, j B6 \- X. j, k6 G7 |- ~: C* @. J& F4 u
static int make_an_array(uf_list_p_t *object_list, tag_t **objects)5 e" p) i+ `0 { F1 \" |
{
6 K& l, f, y9 A' ?3 ~5 E1 K& H- B) ?9 x int
( S6 A# o" l, ?: C% G2 L ii,3 `6 s" d$ d. ]2 i
n;
/ y9 i u5 ~: ]* i uf_list_p_t" |9 F7 Z3 ? y9 \! ?! G) q* \" Y
temp;
0 V; T2 n* Y# P& w! b2 @9 V/ n; V5 ]6 F8 A3 t# W2 P! @0 T
UF_CALL(UF_MODL_ask_list_count(*object_list, &n));
, k' G7 w, g/ R( x% @: R9 f4 W7 _7 ~$ [# z+ l* [+ L
UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));
* R9 ^' s) ?+ u* S# }0 X
7 T0 m' M, F) N4 c9 T5 j/ {, E9 j8 n for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
5 m9 j; v J! B0 q0 Z4 F# \: H2 m- F (*objects)[ii] = temp->eid;
+ _* y+ Q' ?% U3 q2 `# ^/ F6 r( `5 R9 s$ i- K1 x" Q
UF_CALL(UF_MODL_delete_list(object_list));
, ]8 \5 b% P8 `6 r3 F, m
, R1 I% U9 t$ m: s return n;
8 e- t+ K$ q+ b}) c8 D! f$ |9 s1 F s$ N
2 w! B O! s F4 l
) q9 M" j, ?* o; D$ v8 [$ K7 G |
|