|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' e! e2 z9 Q$ V5 b
7 u; L) V! h6 M& v I5 h0 b+ r+ z8 H/ w- ?+ p
NX二次开发源码分享:封装一个函数--将ufun的链表转化成数组9 }/ a6 y' `* z0 [; G
& ]+ n# l* L3 U6 v: `( z
: r1 l2 H2 B/ F: K x9 \& ]2 V
static int allocate_memory(unsigned int nbytes, void **where)
8 F: J/ C% n+ v# l{
, k+ C9 l" n' y% x3 ^6 G& ?* l int5 W% l; Y% @3 m9 d
resp;
. F8 h* G2 }" J% q6 G3 n
3 o/ v+ F0 a v% j6 n *where = UF_allocate_memory(nbytes, &resp);8 U7 A% h" F% m+ h
) `* S% L6 \& r# I return resp;
% P3 f" }3 p( K+ b) X2 g+ d# `}
9 x l6 y6 K/ n! e; v- {+ O/ U+ R8 v& w M
static int make_an_array(uf_list_p_t *object_list, tag_t **objects)& s, {: V1 C' V6 Z3 {
{# u! }' j5 [ o& X. _( a
int0 w! o/ y, \* r. Q
ii,4 x' A% @4 I; k( A3 K) z; W
n;% H1 L) @7 D/ [2 `7 E& O1 T) L1 P6 Q8 p
uf_list_p_t9 f. @- t. R9 L! y! @
temp;5 ]8 O& y' B: M2 w
0 j6 Q; H( F- j2 a$ m* K UF_CALL(UF_MODL_ask_list_count(*object_list, &n));
6 }7 ?. g+ J# h. ^% n* A
! i9 _& Z% d+ _* }) Y+ i UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));
$ Y8 f; s0 k0 D4 F) }3 F, a7 u- s- j; a' Q+ ~! y3 w2 }* o' K N; T4 o
for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
7 L v/ q$ ] \/ M9 c, D' H (*objects)[ii] = temp->eid;) _$ C4 M' |. D7 _1 A9 A" f
8 {/ v3 d9 d* V) u0 j h3 N7 F3 b
UF_CALL(UF_MODL_delete_list(object_list));
& M ?7 v" P( L, V9 {. h
4 A& }. X) n7 @! c2 I5 v return n;
. r( e# q5 X4 V* R/ P s( l, F+ C}
2 J7 N' ?8 e) v! ~' q8 A/ ?! n% l9 ^ {6 N
3 x% o n; w" U, }( [' C |
|