|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 q0 o* \# \, v7 t, o8 C
& N" F& z) X4 |, N; S
) N5 C3 ]. F) Z0 A3 z) R
NX二次开发源码分享:封装一个函数--将ufun的链表转化成数组! O5 z5 O" _8 x/ E, c2 N; C
1 O) W; A' J) k2 l
4 P& K- s3 s# {5 b% y/ ^* Bstatic int allocate_memory(unsigned int nbytes, void **where)
$ T- A1 E. }/ }6 y6 s5 K{
4 ]1 M2 H k4 @ int; l, S, ]$ p7 E0 I1 {! m3 X9 i
resp;
g- u ^) h4 u& O1 r+ Z; u- o: Q: e; X# I0 y u
*where = UF_allocate_memory(nbytes, &resp);
' n% v7 }- [0 s: A
2 `& V. C4 ~- u7 c& w$ ]/ ]+ Q return resp;0 q, _% c& Q0 m9 K2 T; F
}
4 ?* M: W! k# @1 T. \! Y& ~) g$ T) |5 r2 V1 _
static int make_an_array(uf_list_p_t *object_list, tag_t **objects)
" P: O3 G$ k) S+ p% Q7 B1 p{
9 J. n" N- p+ | e. b! I int
/ \$ t- f2 R3 O ii,
* s! X, w e9 i4 d0 l) p n;% J2 a+ \2 \7 D9 Z
uf_list_p_t# l6 f! J% D1 Z$ A
temp;* }0 m; }0 n' m, V* i# T A& f
/ B: H3 [! D% z" _' Y UF_CALL(UF_MODL_ask_list_count(*object_list, &n));
; _4 {, x+ D/ q5 [+ F5 m
3 o) l; Y Z+ V0 K9 Q, U UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));# l! n4 {9 y/ W4 i& s) \9 C7 @" u
4 k: I9 i/ A3 T( R+ B6 L for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)
' b3 P: l/ w7 b B: ~# r, k4 s (*objects)[ii] = temp->eid;
' C7 U7 M) ~" Z T7 t% ]; x3 t9 ?6 B5 b @6 G+ Z
UF_CALL(UF_MODL_delete_list(object_list));
) {4 O; I1 g m! d
( R( u" N5 u& `& q+ H& d return n;
/ h8 \. p9 N; B0 N5 A- z+ I& s}
6 c6 l5 m8 L; i5 K& {3 o5 K t; H% _) B* A
; A" X2 W% ? m n# R' ^- _1 Y |
|